/[dtapublic]/projs/trunk/shared_source/c_tcl_base_7_5_w_mods/tclwinerror.c
ViewVC logotype

Diff of /projs/trunk/shared_source/c_tcl_base_7_5_w_mods/tclwinerror.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 70 by dashley, Mon Oct 31 00:57:34 2016 UTC revision 71 by dashley, Sat Nov 5 11:07:06 2016 UTC
# Line 1  Line 1 
1  /* $Header$ */  /* $Header$ */
2  /*  /*
3   * tclWinError.c --   * tclWinError.c --
4   *   *
5   *      This file contains code for converting from Win32 errors to   *      This file contains code for converting from Win32 errors to
6   *      errno errors.   *      errno errors.
7   *   *
8   * Copyright (c) 1995-1996 by Sun Microsystems, Inc.   * Copyright (c) 1995-1996 by Sun Microsystems, Inc.
9   *   *
10   * See the file "license.terms" for information on usage and redistribution   * See the file "license.terms" for information on usage and redistribution
11   * of this file, and for a DISCLAIMER OF ALL WARRANTIES.   * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
12   *   *
13   * RCS: @(#) $Id: tclwinerror.c,v 1.1.1.1 2001/06/13 04:48:48 dtashley Exp $   * RCS: @(#) $Id: tclwinerror.c,v 1.1.1.1 2001/06/13 04:48:48 dtashley Exp $
14   */   */
15    
16  #include "tclWinInt.h"  #include "tclWinInt.h"
17    
18  /*  /*
19   * The following table contains the mapping from Win32 errors to   * The following table contains the mapping from Win32 errors to
20   * errno errors.   * errno errors.
21   */   */
22    
23  static char errorTable[] = {  static char errorTable[] = {
24      0,      0,
25      EINVAL,     /* ERROR_INVALID_FUNCTION       1 */      EINVAL,     /* ERROR_INVALID_FUNCTION       1 */
26      ENOENT,     /* ERROR_FILE_NOT_FOUND         2 */      ENOENT,     /* ERROR_FILE_NOT_FOUND         2 */
27      ENOENT,     /* ERROR_PATH_NOT_FOUND         3 */      ENOENT,     /* ERROR_PATH_NOT_FOUND         3 */
28      EMFILE,     /* ERROR_TOO_MANY_OPEN_FILES    4 */      EMFILE,     /* ERROR_TOO_MANY_OPEN_FILES    4 */
29      EACCES,     /* ERROR_ACCESS_DENIED          5 */      EACCES,     /* ERROR_ACCESS_DENIED          5 */
30      EBADF,      /* ERROR_INVALID_HANDLE         6 */      EBADF,      /* ERROR_INVALID_HANDLE         6 */
31      ENOMEM,     /* ERROR_ARENA_TRASHED          7 */      ENOMEM,     /* ERROR_ARENA_TRASHED          7 */
32      ENOMEM,     /* ERROR_NOT_ENOUGH_MEMORY      8 */      ENOMEM,     /* ERROR_NOT_ENOUGH_MEMORY      8 */
33      ENOMEM,     /* ERROR_INVALID_BLOCK          9 */      ENOMEM,     /* ERROR_INVALID_BLOCK          9 */
34      E2BIG,      /* ERROR_BAD_ENVIRONMENT        10 */      E2BIG,      /* ERROR_BAD_ENVIRONMENT        10 */
35      ENOEXEC,    /* ERROR_BAD_FORMAT             11 */      ENOEXEC,    /* ERROR_BAD_FORMAT             11 */
36      EACCES,     /* ERROR_INVALID_ACCESS         12 */      EACCES,     /* ERROR_INVALID_ACCESS         12 */
37      EINVAL,     /* ERROR_INVALID_DATA           13 */      EINVAL,     /* ERROR_INVALID_DATA           13 */
38      EFAULT,     /* ERROR_OUT_OF_MEMORY          14 */      EFAULT,     /* ERROR_OUT_OF_MEMORY          14 */
39      ENOENT,     /* ERROR_INVALID_DRIVE          15 */      ENOENT,     /* ERROR_INVALID_DRIVE          15 */
40      EACCES,     /* ERROR_CURRENT_DIRECTORY      16 */      EACCES,     /* ERROR_CURRENT_DIRECTORY      16 */
41      EXDEV,      /* ERROR_NOT_SAME_DEVICE        17 */      EXDEV,      /* ERROR_NOT_SAME_DEVICE        17 */
42      ENOENT,     /* ERROR_NO_MORE_FILES          18 */      ENOENT,     /* ERROR_NO_MORE_FILES          18 */
43      EROFS,      /* ERROR_WRITE_PROTECT          19 */      EROFS,      /* ERROR_WRITE_PROTECT          19 */
44      ENXIO,      /* ERROR_BAD_UNIT               20 */      ENXIO,      /* ERROR_BAD_UNIT               20 */
45      EBUSY,      /* ERROR_NOT_READY              21 */      EBUSY,      /* ERROR_NOT_READY              21 */
46      EIO,        /* ERROR_BAD_COMMAND            22 */      EIO,        /* ERROR_BAD_COMMAND            22 */
47      EIO,        /* ERROR_CRC                    23 */      EIO,        /* ERROR_CRC                    23 */
48      EIO,        /* ERROR_BAD_LENGTH             24 */      EIO,        /* ERROR_BAD_LENGTH             24 */
49      EIO,        /* ERROR_SEEK                   25 */      EIO,        /* ERROR_SEEK                   25 */
50      EIO,        /* ERROR_NOT_DOS_DISK           26 */      EIO,        /* ERROR_NOT_DOS_DISK           26 */
51      ENXIO,      /* ERROR_SECTOR_NOT_FOUND       27 */      ENXIO,      /* ERROR_SECTOR_NOT_FOUND       27 */
52      EBUSY,      /* ERROR_OUT_OF_PAPER           28 */      EBUSY,      /* ERROR_OUT_OF_PAPER           28 */
53      EIO,        /* ERROR_WRITE_FAULT            29 */      EIO,        /* ERROR_WRITE_FAULT            29 */
54      EIO,        /* ERROR_READ_FAULT             30 */      EIO,        /* ERROR_READ_FAULT             30 */
55      EIO,        /* ERROR_GEN_FAILURE            31 */      EIO,        /* ERROR_GEN_FAILURE            31 */
56      EACCES,     /* ERROR_SHARING_VIOLATION      32 */      EACCES,     /* ERROR_SHARING_VIOLATION      32 */
57      EACCES,     /* ERROR_LOCK_VIOLATION         33 */      EACCES,     /* ERROR_LOCK_VIOLATION         33 */
58      ENXIO,      /* ERROR_WRONG_DISK             34 */      ENXIO,      /* ERROR_WRONG_DISK             34 */
59      ENFILE,     /* ERROR_FCB_UNAVAILABLE        35 */      ENFILE,     /* ERROR_FCB_UNAVAILABLE        35 */
60      ENFILE,     /* ERROR_SHARING_BUFFER_EXCEEDED        36 */      ENFILE,     /* ERROR_SHARING_BUFFER_EXCEEDED        36 */
61      EINVAL,     /* 37 */      EINVAL,     /* 37 */
62      EINVAL,     /* 38 */      EINVAL,     /* 38 */
63      ENOSPC,     /* ERROR_HANDLE_DISK_FULL       39 */      ENOSPC,     /* ERROR_HANDLE_DISK_FULL       39 */
64      EINVAL,     /* 40 */      EINVAL,     /* 40 */
65      EINVAL,     /* 41 */      EINVAL,     /* 41 */
66      EINVAL,     /* 42 */      EINVAL,     /* 42 */
67      EINVAL,     /* 43 */      EINVAL,     /* 43 */
68      EINVAL,     /* 44 */      EINVAL,     /* 44 */
69      EINVAL,     /* 45 */      EINVAL,     /* 45 */
70      EINVAL,     /* 46 */      EINVAL,     /* 46 */
71      EINVAL,     /* 47 */      EINVAL,     /* 47 */
72      EINVAL,     /* 48 */      EINVAL,     /* 48 */
73      EINVAL,     /* 49 */      EINVAL,     /* 49 */
74      ENODEV,     /* ERROR_NOT_SUPPORTED          50 */      ENODEV,     /* ERROR_NOT_SUPPORTED          50 */
75      EBUSY,      /* ERROR_REM_NOT_LIST           51 */      EBUSY,      /* ERROR_REM_NOT_LIST           51 */
76      EEXIST,     /* ERROR_DUP_NAME               52 */      EEXIST,     /* ERROR_DUP_NAME               52 */
77      ENOENT,     /* ERROR_BAD_NETPATH            53 */      ENOENT,     /* ERROR_BAD_NETPATH            53 */
78      EBUSY,      /* ERROR_NETWORK_BUSY           54 */      EBUSY,      /* ERROR_NETWORK_BUSY           54 */
79      ENODEV,     /* ERROR_DEV_NOT_EXIST          55 */      ENODEV,     /* ERROR_DEV_NOT_EXIST          55 */
80      EAGAIN,     /* ERROR_TOO_MANY_CMDS          56 */      EAGAIN,     /* ERROR_TOO_MANY_CMDS          56 */
81      EIO,        /* ERROR_ADAP_HDW_ERR           57 */      EIO,        /* ERROR_ADAP_HDW_ERR           57 */
82      EIO,        /* ERROR_BAD_NET_RESP           58 */      EIO,        /* ERROR_BAD_NET_RESP           58 */
83      EIO,        /* ERROR_UNEXP_NET_ERR          59 */      EIO,        /* ERROR_UNEXP_NET_ERR          59 */
84      EINVAL,     /* ERROR_BAD_REM_ADAP           60 */      EINVAL,     /* ERROR_BAD_REM_ADAP           60 */
85      EFBIG,      /* ERROR_PRINTQ_FULL            61 */      EFBIG,      /* ERROR_PRINTQ_FULL            61 */
86      ENOSPC,     /* ERROR_NO_SPOOL_SPACE         62 */      ENOSPC,     /* ERROR_NO_SPOOL_SPACE         62 */
87      ENOENT,     /* ERROR_PRINT_CANCELLED        63 */      ENOENT,     /* ERROR_PRINT_CANCELLED        63 */
88      ENOENT,     /* ERROR_NETNAME_DELETED        64 */      ENOENT,     /* ERROR_NETNAME_DELETED        64 */
89      EACCES,     /* ERROR_NETWORK_ACCESS_DENIED  65 */      EACCES,     /* ERROR_NETWORK_ACCESS_DENIED  65 */
90      ENODEV,     /* ERROR_BAD_DEV_TYPE           66 */      ENODEV,     /* ERROR_BAD_DEV_TYPE           66 */
91      ENOENT,     /* ERROR_BAD_NET_NAME           67 */      ENOENT,     /* ERROR_BAD_NET_NAME           67 */
92      ENFILE,     /* ERROR_TOO_MANY_NAMES         68 */      ENFILE,     /* ERROR_TOO_MANY_NAMES         68 */
93      EIO,        /* ERROR_TOO_MANY_SESS          69 */      EIO,        /* ERROR_TOO_MANY_SESS          69 */
94      EAGAIN,     /* ERROR_SHARING_PAUSED         70 */      EAGAIN,     /* ERROR_SHARING_PAUSED         70 */
95      EINVAL,     /* ERROR_REQ_NOT_ACCEP          71 */      EINVAL,     /* ERROR_REQ_NOT_ACCEP          71 */
96      EAGAIN,     /* ERROR_REDIR_PAUSED           72 */      EAGAIN,     /* ERROR_REDIR_PAUSED           72 */
97      EINVAL,     /* 73 */      EINVAL,     /* 73 */
98      EINVAL,     /* 74 */      EINVAL,     /* 74 */
99      EINVAL,     /* 75 */      EINVAL,     /* 75 */
100      EINVAL,     /* 76 */      EINVAL,     /* 76 */
101      EINVAL,     /* 77 */      EINVAL,     /* 77 */
102      EINVAL,     /* 78 */      EINVAL,     /* 78 */
103      EINVAL,     /* 79 */      EINVAL,     /* 79 */
104      EEXIST,     /* ERROR_FILE_EXISTS            80 */      EEXIST,     /* ERROR_FILE_EXISTS            80 */
105      EINVAL,     /* 81 */      EINVAL,     /* 81 */
106      ENOSPC,     /* ERROR_CANNOT_MAKE            82 */      ENOSPC,     /* ERROR_CANNOT_MAKE            82 */
107      EIO,        /* ERROR_FAIL_I24               83 */      EIO,        /* ERROR_FAIL_I24               83 */
108      ENFILE,     /* ERROR_OUT_OF_STRUCTURES      84 */      ENFILE,     /* ERROR_OUT_OF_STRUCTURES      84 */
109      EEXIST,     /* ERROR_ALREADY_ASSIGNED       85 */      EEXIST,     /* ERROR_ALREADY_ASSIGNED       85 */
110      EPERM,      /* ERROR_INVALID_PASSWORD       86 */      EPERM,      /* ERROR_INVALID_PASSWORD       86 */
111      EINVAL,     /* ERROR_INVALID_PARAMETER      87 */      EINVAL,     /* ERROR_INVALID_PARAMETER      87 */
112      EIO,        /* ERROR_NET_WRITE_FAULT        88 */      EIO,        /* ERROR_NET_WRITE_FAULT        88 */
113      EAGAIN,     /* ERROR_NO_PROC_SLOTS          89 */      EAGAIN,     /* ERROR_NO_PROC_SLOTS          89 */
114      EINVAL,     /* 90 */      EINVAL,     /* 90 */
115      EINVAL,     /* 91 */      EINVAL,     /* 91 */
116      EINVAL,     /* 92 */      EINVAL,     /* 92 */
117      EINVAL,     /* 93 */      EINVAL,     /* 93 */
118      EINVAL,     /* 94 */      EINVAL,     /* 94 */
119      EINVAL,     /* 95 */      EINVAL,     /* 95 */
120      EINVAL,     /* 96 */      EINVAL,     /* 96 */
121      EINVAL,     /* 97 */      EINVAL,     /* 97 */
122      EINVAL,     /* 98 */      EINVAL,     /* 98 */
123      EINVAL,     /* 99 */      EINVAL,     /* 99 */
124      EINVAL,     /* 100 */      EINVAL,     /* 100 */
125      EINVAL,     /* 101 */      EINVAL,     /* 101 */
126      EINVAL,     /* 102 */      EINVAL,     /* 102 */
127      EINVAL,     /* 103 */      EINVAL,     /* 103 */
128      EINVAL,     /* 104 */      EINVAL,     /* 104 */
129      EINVAL,     /* 105 */      EINVAL,     /* 105 */
130      EINVAL,     /* 106 */      EINVAL,     /* 106 */
131      EXDEV,      /* ERROR_DISK_CHANGE            107 */      EXDEV,      /* ERROR_DISK_CHANGE            107 */
132      EAGAIN,     /* ERROR_DRIVE_LOCKED           108 */      EAGAIN,     /* ERROR_DRIVE_LOCKED           108 */
133      EPIPE,      /* ERROR_BROKEN_PIPE            109 */      EPIPE,      /* ERROR_BROKEN_PIPE            109 */
134      ENOENT,     /* ERROR_OPEN_FAILED            110 */      ENOENT,     /* ERROR_OPEN_FAILED            110 */
135      EINVAL,     /* ERROR_BUFFER_OVERFLOW        111 */      EINVAL,     /* ERROR_BUFFER_OVERFLOW        111 */
136      ENOSPC,     /* ERROR_DISK_FULL              112 */      ENOSPC,     /* ERROR_DISK_FULL              112 */
137      EMFILE,     /* ERROR_NO_MORE_SEARCH_HANDLES 113 */      EMFILE,     /* ERROR_NO_MORE_SEARCH_HANDLES 113 */
138      EBADF,      /* ERROR_INVALID_TARGET_HANDLE  114 */      EBADF,      /* ERROR_INVALID_TARGET_HANDLE  114 */
139      EFAULT,     /* ERROR_PROTECTION_VIOLATION   115 */      EFAULT,     /* ERROR_PROTECTION_VIOLATION   115 */
140      EINVAL,     /* 116 */      EINVAL,     /* 116 */
141      EINVAL,     /* 117 */      EINVAL,     /* 117 */
142      EINVAL,     /* 118 */      EINVAL,     /* 118 */
143      EINVAL,     /* 119 */      EINVAL,     /* 119 */
144      EINVAL,     /* 120 */      EINVAL,     /* 120 */
145      EINVAL,     /* 121 */      EINVAL,     /* 121 */
146      EINVAL,     /* 122 */      EINVAL,     /* 122 */
147      ENOENT,     /* ERROR_INVALID_NAME           123 */      ENOENT,     /* ERROR_INVALID_NAME           123 */
148      EINVAL,     /* 124 */      EINVAL,     /* 124 */
149      EINVAL,     /* 125 */      EINVAL,     /* 125 */
150      EINVAL,     /* 126 */      EINVAL,     /* 126 */
151      ESRCH,      /* ERROR_PROC_NOT_FOUND         127 */      ESRCH,      /* ERROR_PROC_NOT_FOUND         127 */
152      ECHILD,     /* ERROR_WAIT_NO_CHILDREN       128 */      ECHILD,     /* ERROR_WAIT_NO_CHILDREN       128 */
153      ECHILD,     /* ERROR_CHILD_NOT_COMPLETE     129 */      ECHILD,     /* ERROR_CHILD_NOT_COMPLETE     129 */
154      EBADF,      /* ERROR_DIRECT_ACCESS_HANDLE   130 */      EBADF,      /* ERROR_DIRECT_ACCESS_HANDLE   130 */
155      EINVAL,     /* 131 */      EINVAL,     /* 131 */
156      ESPIPE,     /* ERROR_SEEK_ON_DEVICE         132 */      ESPIPE,     /* ERROR_SEEK_ON_DEVICE         132 */
157      EINVAL,     /* 133 */      EINVAL,     /* 133 */
158      EINVAL,     /* 134 */      EINVAL,     /* 134 */
159      EINVAL,     /* 135 */      EINVAL,     /* 135 */
160      EINVAL,     /* 136 */      EINVAL,     /* 136 */
161      EINVAL,     /* 137 */      EINVAL,     /* 137 */
162      EINVAL,     /* 138 */      EINVAL,     /* 138 */
163      EINVAL,     /* 139 */      EINVAL,     /* 139 */
164      EINVAL,     /* 140 */      EINVAL,     /* 140 */
165      EINVAL,     /* 141 */      EINVAL,     /* 141 */
166      EAGAIN,     /* ERROR_BUSY_DRIVE             142 */      EAGAIN,     /* ERROR_BUSY_DRIVE             142 */
167      EINVAL,     /* 143 */      EINVAL,     /* 143 */
168      EINVAL,     /* 144 */      EINVAL,     /* 144 */
169      EEXIST,     /* ERROR_DIR_NOT_EMPTY          145 */      EEXIST,     /* ERROR_DIR_NOT_EMPTY          145 */
170      EINVAL,     /* 146 */      EINVAL,     /* 146 */
171      EINVAL,     /* 147 */      EINVAL,     /* 147 */
172      EINVAL,     /* 148 */      EINVAL,     /* 148 */
173      EINVAL,     /* 149 */      EINVAL,     /* 149 */
174      EINVAL,     /* 150 */      EINVAL,     /* 150 */
175      EINVAL,     /* 151 */      EINVAL,     /* 151 */
176      EINVAL,     /* 152 */      EINVAL,     /* 152 */
177      EINVAL,     /* 153 */      EINVAL,     /* 153 */
178      EINVAL,     /* 154 */      EINVAL,     /* 154 */
179      EINVAL,     /* 155 */      EINVAL,     /* 155 */
180      EINVAL,     /* 156 */      EINVAL,     /* 156 */
181      EINVAL,     /* 157 */      EINVAL,     /* 157 */
182      EACCES,     /* ERROR_NOT_LOCKED             158 */      EACCES,     /* ERROR_NOT_LOCKED             158 */
183      EINVAL,     /* 159 */      EINVAL,     /* 159 */
184      EINVAL,     /* 160 */      EINVAL,     /* 160 */
185      ENOENT,     /* ERROR_BAD_PATHNAME           161 */      ENOENT,     /* ERROR_BAD_PATHNAME           161 */
186      EINVAL,     /* 162 */      EINVAL,     /* 162 */
187      EINVAL,     /* 163 */      EINVAL,     /* 163 */
188      EINVAL,     /* 164 */      EINVAL,     /* 164 */
189      EINVAL,     /* 165 */      EINVAL,     /* 165 */
190      EINVAL,     /* 166 */      EINVAL,     /* 166 */
191      EACCES,     /* ERROR_LOCK_FAILED            167 */      EACCES,     /* ERROR_LOCK_FAILED            167 */
192      EINVAL,     /* 168 */      EINVAL,     /* 168 */
193      EINVAL,     /* 169 */      EINVAL,     /* 169 */
194      EINVAL,     /* 170 */      EINVAL,     /* 170 */
195      EINVAL,     /* 171 */      EINVAL,     /* 171 */
196      EINVAL,     /* 172 */      EINVAL,     /* 172 */
197      EINVAL,     /* 173 */      EINVAL,     /* 173 */
198      EINVAL,     /* 174 */      EINVAL,     /* 174 */
199      EINVAL,     /* 175 */      EINVAL,     /* 175 */
200      EINVAL,     /* 176 */      EINVAL,     /* 176 */
201      EINVAL,     /* 177 */      EINVAL,     /* 177 */
202      EINVAL,     /* 178 */      EINVAL,     /* 178 */
203      EINVAL,     /* 179 */      EINVAL,     /* 179 */
204      EINVAL,     /* 180 */      EINVAL,     /* 180 */
205      EINVAL,     /* 181 */      EINVAL,     /* 181 */
206      EINVAL,     /* 182 */      EINVAL,     /* 182 */
207      EEXIST,     /* ERROR_ALREADY_EXISTS         183 */      EEXIST,     /* ERROR_ALREADY_EXISTS         183 */
208      ECHILD,     /* ERROR_NO_CHILD_PROCESS       184 */      ECHILD,     /* ERROR_NO_CHILD_PROCESS       184 */
209      EINVAL,     /* 185 */      EINVAL,     /* 185 */
210      EINVAL,     /* 186 */      EINVAL,     /* 186 */
211      EINVAL,     /* 187 */      EINVAL,     /* 187 */
212      EINVAL,     /* 188 */      EINVAL,     /* 188 */
213      EINVAL,     /* 189 */      EINVAL,     /* 189 */
214      EINVAL,     /* 190 */      EINVAL,     /* 190 */
215      EINVAL,     /* 191 */      EINVAL,     /* 191 */
216      EINVAL,     /* 192 */      EINVAL,     /* 192 */
217      EINVAL,     /* 193 */      EINVAL,     /* 193 */
218      EINVAL,     /* 194 */      EINVAL,     /* 194 */
219      EINVAL,     /* 195 */      EINVAL,     /* 195 */
220      EINVAL,     /* 196 */      EINVAL,     /* 196 */
221      EINVAL,     /* 197 */      EINVAL,     /* 197 */
222      EINVAL,     /* 198 */      EINVAL,     /* 198 */
223      EINVAL,     /* 199 */      EINVAL,     /* 199 */
224      EINVAL,     /* 200 */      EINVAL,     /* 200 */
225      EINVAL,     /* 201 */      EINVAL,     /* 201 */
226      EINVAL,     /* 202 */      EINVAL,     /* 202 */
227      EINVAL,     /* 203 */      EINVAL,     /* 203 */
228      EINVAL,     /* 204 */      EINVAL,     /* 204 */
229      EINVAL,     /* 205 */      EINVAL,     /* 205 */
230      ENAMETOOLONG,/* ERROR_FILENAME_EXCED_RANGE  206 */      ENAMETOOLONG,/* ERROR_FILENAME_EXCED_RANGE  206 */
231      EINVAL,     /* 207 */      EINVAL,     /* 207 */
232      EINVAL,     /* 208 */      EINVAL,     /* 208 */
233      EINVAL,     /* 209 */      EINVAL,     /* 209 */
234      EINVAL,     /* 210 */      EINVAL,     /* 210 */
235      EINVAL,     /* 211 */      EINVAL,     /* 211 */
236      EINVAL,     /* 212 */      EINVAL,     /* 212 */
237      EINVAL,     /* 213 */      EINVAL,     /* 213 */
238      EINVAL,     /* 214 */      EINVAL,     /* 214 */
239      EINVAL,     /* 215 */      EINVAL,     /* 215 */
240      EINVAL,     /* 216 */      EINVAL,     /* 216 */
241      EINVAL,     /* 217 */      EINVAL,     /* 217 */
242      EINVAL,     /* 218 */      EINVAL,     /* 218 */
243      EINVAL,     /* 219 */      EINVAL,     /* 219 */
244      EINVAL,     /* 220 */      EINVAL,     /* 220 */
245      EINVAL,     /* 221 */      EINVAL,     /* 221 */
246      EINVAL,     /* 222 */      EINVAL,     /* 222 */
247      EINVAL,     /* 223 */      EINVAL,     /* 223 */
248      EINVAL,     /* 224 */      EINVAL,     /* 224 */
249      EINVAL,     /* 225 */      EINVAL,     /* 225 */
250      EINVAL,     /* 226 */      EINVAL,     /* 226 */
251      EINVAL,     /* 227 */      EINVAL,     /* 227 */
252      EINVAL,     /* 228 */      EINVAL,     /* 228 */
253      EINVAL,     /* 229 */      EINVAL,     /* 229 */
254      EPIPE,      /* ERROR_BAD_PIPE               230 */      EPIPE,      /* ERROR_BAD_PIPE               230 */
255      EAGAIN,     /* ERROR_PIPE_BUSY              231 */      EAGAIN,     /* ERROR_PIPE_BUSY              231 */
256      EPIPE,      /* ERROR_NO_DATA                232 */      EPIPE,      /* ERROR_NO_DATA                232 */
257      EPIPE,      /* ERROR_PIPE_NOT_CONNECTED     233 */      EPIPE,      /* ERROR_PIPE_NOT_CONNECTED     233 */
258      EINVAL,     /* 234 */      EINVAL,     /* 234 */
259      EINVAL,     /* 235 */      EINVAL,     /* 235 */
260      EINVAL,     /* 236 */      EINVAL,     /* 236 */
261      EINVAL,     /* 237 */      EINVAL,     /* 237 */
262      EINVAL,     /* 238 */      EINVAL,     /* 238 */
263      EINVAL,     /* 239 */      EINVAL,     /* 239 */
264      EINVAL,     /* 240 */      EINVAL,     /* 240 */
265      EINVAL,     /* 241 */      EINVAL,     /* 241 */
266      EINVAL,     /* 242 */      EINVAL,     /* 242 */
267      EINVAL,     /* 243 */      EINVAL,     /* 243 */
268      EINVAL,     /* 244 */      EINVAL,     /* 244 */
269      EINVAL,     /* 245 */      EINVAL,     /* 245 */
270      EINVAL,     /* 246 */      EINVAL,     /* 246 */
271      EINVAL,     /* 247 */      EINVAL,     /* 247 */
272      EINVAL,     /* 248 */      EINVAL,     /* 248 */
273      EINVAL,     /* 249 */      EINVAL,     /* 249 */
274      EINVAL,     /* 250 */      EINVAL,     /* 250 */
275      EINVAL,     /* 251 */      EINVAL,     /* 251 */
276      EINVAL,     /* 252 */      EINVAL,     /* 252 */
277      EINVAL,     /* 253 */      EINVAL,     /* 253 */
278      EINVAL,     /* 254 */      EINVAL,     /* 254 */
279      EINVAL,     /* 255 */      EINVAL,     /* 255 */
280      EINVAL,     /* 256 */      EINVAL,     /* 256 */
281      EINVAL,     /* 257 */      EINVAL,     /* 257 */
282      EINVAL,     /* 258 */      EINVAL,     /* 258 */
283      EINVAL,     /* 259 */      EINVAL,     /* 259 */
284      EINVAL,     /* 260 */      EINVAL,     /* 260 */
285      EINVAL,     /* 261 */      EINVAL,     /* 261 */
286      EINVAL,     /* 262 */      EINVAL,     /* 262 */
287      EINVAL,     /* 263 */      EINVAL,     /* 263 */
288      EINVAL,     /* 264 */      EINVAL,     /* 264 */
289      EINVAL,     /* 265 */      EINVAL,     /* 265 */
290      EINVAL,     /* 266 */      EINVAL,     /* 266 */
291      ENOTDIR,    /* ERROR_DIRECTORY              267 */      ENOTDIR,    /* ERROR_DIRECTORY              267 */
292  };  };
293    
294  static const unsigned int tableLen = sizeof(errorTable);  static const unsigned int tableLen = sizeof(errorTable);
295    
296  /*  /*
297   * The following table contains the mapping from WinSock errors to   * The following table contains the mapping from WinSock errors to
298   * errno errors.   * errno errors.
299   */   */
300    
301  static int wsaErrorTable[] = {  static int wsaErrorTable[] = {
302      EWOULDBLOCK,        /* WSAEWOULDBLOCK */      EWOULDBLOCK,        /* WSAEWOULDBLOCK */
303      EINPROGRESS,        /* WSAEINPROGRESS */      EINPROGRESS,        /* WSAEINPROGRESS */
304      EALREADY,           /* WSAEALREADY */      EALREADY,           /* WSAEALREADY */
305      ENOTSOCK,           /* WSAENOTSOCK */      ENOTSOCK,           /* WSAENOTSOCK */
306      EDESTADDRREQ,       /* WSAEDESTADDRREQ */      EDESTADDRREQ,       /* WSAEDESTADDRREQ */
307      EMSGSIZE,           /* WSAEMSGSIZE */      EMSGSIZE,           /* WSAEMSGSIZE */
308      EPROTOTYPE,         /* WSAEPROTOTYPE */      EPROTOTYPE,         /* WSAEPROTOTYPE */
309      ENOPROTOOPT,        /* WSAENOPROTOOPT */      ENOPROTOOPT,        /* WSAENOPROTOOPT */
310      EPROTONOSUPPORT,    /* WSAEPROTONOSUPPORT */      EPROTONOSUPPORT,    /* WSAEPROTONOSUPPORT */
311      ESOCKTNOSUPPORT,    /* WSAESOCKTNOSUPPORT */      ESOCKTNOSUPPORT,    /* WSAESOCKTNOSUPPORT */
312      EOPNOTSUPP,         /* WSAEOPNOTSUPP */      EOPNOTSUPP,         /* WSAEOPNOTSUPP */
313      EPFNOSUPPORT,       /* WSAEPFNOSUPPORT */      EPFNOSUPPORT,       /* WSAEPFNOSUPPORT */
314      EAFNOSUPPORT,       /* WSAEAFNOSUPPORT */      EAFNOSUPPORT,       /* WSAEAFNOSUPPORT */
315      EADDRINUSE,         /* WSAEADDRINUSE */      EADDRINUSE,         /* WSAEADDRINUSE */
316      EADDRNOTAVAIL,      /* WSAEADDRNOTAVAIL */      EADDRNOTAVAIL,      /* WSAEADDRNOTAVAIL */
317      ENETDOWN,           /* WSAENETDOWN */      ENETDOWN,           /* WSAENETDOWN */
318      ENETUNREACH,        /* WSAENETUNREACH */      ENETUNREACH,        /* WSAENETUNREACH */
319      ENETRESET,          /* WSAENETRESET */      ENETRESET,          /* WSAENETRESET */
320      ECONNABORTED,       /* WSAECONNABORTED */      ECONNABORTED,       /* WSAECONNABORTED */
321      ECONNRESET,         /* WSAECONNRESET */      ECONNRESET,         /* WSAECONNRESET */
322      ENOBUFS,            /* WSAENOBUFS */      ENOBUFS,            /* WSAENOBUFS */
323      EISCONN,            /* WSAEISCONN */      EISCONN,            /* WSAEISCONN */
324      ENOTCONN,           /* WSAENOTCONN */      ENOTCONN,           /* WSAENOTCONN */
325      ESHUTDOWN,          /* WSAESHUTDOWN */      ESHUTDOWN,          /* WSAESHUTDOWN */
326      ETOOMANYREFS,       /* WSAETOOMANYREFS */      ETOOMANYREFS,       /* WSAETOOMANYREFS */
327      ETIMEDOUT,          /* WSAETIMEDOUT */      ETIMEDOUT,          /* WSAETIMEDOUT */
328      ECONNREFUSED,       /* WSAECONNREFUSED */      ECONNREFUSED,       /* WSAECONNREFUSED */
329      ELOOP,              /* WSAELOOP */      ELOOP,              /* WSAELOOP */
330      ENAMETOOLONG,       /* WSAENAMETOOLONG */      ENAMETOOLONG,       /* WSAENAMETOOLONG */
331      EHOSTDOWN,          /* WSAEHOSTDOWN */      EHOSTDOWN,          /* WSAEHOSTDOWN */
332      EHOSTUNREACH,       /* WSAEHOSTUNREACH */      EHOSTUNREACH,       /* WSAEHOSTUNREACH */
333      ENOTEMPTY,          /* WSAENOTEMPTY */      ENOTEMPTY,          /* WSAENOTEMPTY */
334      EAGAIN,             /* WSAEPROCLIM */      EAGAIN,             /* WSAEPROCLIM */
335      EUSERS,             /* WSAEUSERS */      EUSERS,             /* WSAEUSERS */
336      EDQUOT,             /* WSAEDQUOT */      EDQUOT,             /* WSAEDQUOT */
337      ESTALE,             /* WSAESTALE */      ESTALE,             /* WSAESTALE */
338      EREMOTE,            /* WSAEREMOTE */      EREMOTE,            /* WSAEREMOTE */
339  };  };
340    
341  /*  /*
342   *----------------------------------------------------------------------   *----------------------------------------------------------------------
343   *   *
344   * TclWinConvertError --   * TclWinConvertError --
345   *   *
346   *      This routine converts a Win32 error into an errno value.   *      This routine converts a Win32 error into an errno value.
347   *   *
348   * Results:   * Results:
349   *      None.   *      None.
350   *   *
351   * Side effects:   * Side effects:
352   *      Sets the errno global variable.   *      Sets the errno global variable.
353   *   *
354   *----------------------------------------------------------------------   *----------------------------------------------------------------------
355   */   */
356    
357  void  void
358  TclWinConvertError(errCode)  TclWinConvertError(errCode)
359      DWORD errCode;              /* Win32 error code. */      DWORD errCode;              /* Win32 error code. */
360  {  {
361      if (errCode >= tableLen) {      if (errCode >= tableLen) {
362          Tcl_SetErrno(EINVAL);          Tcl_SetErrno(EINVAL);
363      } else {      } else {
364          Tcl_SetErrno(errorTable[errCode]);          Tcl_SetErrno(errorTable[errCode]);
365      }      }
366  }  }
367    
368  /*  /*
369   *----------------------------------------------------------------------   *----------------------------------------------------------------------
370   *   *
371   * TclWinConvertWSAError --   * TclWinConvertWSAError --
372   *   *
373   *      This routine converts a WinSock error into an errno value.   *      This routine converts a WinSock error into an errno value.
374   *   *
375   * Results:   * Results:
376   *      None.   *      None.
377   *   *
378   * Side effects:   * Side effects:
379   *      Sets the errno global variable.   *      Sets the errno global variable.
380   *   *
381   *----------------------------------------------------------------------   *----------------------------------------------------------------------
382   */   */
383    
384  void  void
385  TclWinConvertWSAError(errCode)  TclWinConvertWSAError(errCode)
386      DWORD errCode;              /* Win32 error code. */      DWORD errCode;              /* Win32 error code. */
387  {  {
388      if ((errCode >= WSAEWOULDBLOCK) && (errCode <= WSAEREMOTE)) {      if ((errCode >= WSAEWOULDBLOCK) && (errCode <= WSAEREMOTE)) {
389          Tcl_SetErrno(wsaErrorTable[errCode - WSAEWOULDBLOCK]);          Tcl_SetErrno(wsaErrorTable[errCode - WSAEWOULDBLOCK]);
390      } else {      } else {
391          Tcl_SetErrno(EINVAL);          Tcl_SetErrno(EINVAL);
392      }      }
393  }  }
394    
395  /* End of tclwinerror.c */  /* End of tclwinerror.c */

Legend:
Removed from v.70  
changed lines
  Added in v.71

dashley@gmail.com
ViewVC Help
Powered by ViewVC 1.1.25