OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [insight/] [tcl/] [win/] [tclWinError.c] - Diff between revs 578 and 1765

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 578 Rev 1765
/*
/*
 * tclWinError.c --
 * tclWinError.c --
 *
 *
 *      This file contains code for converting from Win32 errors to
 *      This file contains code for converting from Win32 errors to
 *      errno errors.
 *      errno errors.
 *
 *
 * Copyright (c) 1995-1996 by Sun Microsystems, Inc.
 * Copyright (c) 1995-1996 by Sun Microsystems, Inc.
 *
 *
 * See the file "license.terms" for information on usage and redistribution
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 *
 * RCS: @(#) $Id: tclWinError.c,v 1.1.1.1 2002-01-16 10:25:38 markom Exp $
 * RCS: @(#) $Id: tclWinError.c,v 1.1.1.1 2002-01-16 10:25:38 markom Exp $
 */
 */
 
 
#include "tclInt.h"
#include "tclInt.h"
#include "tclPort.h"
#include "tclPort.h"
 
 
/*
/*
 * The following table contains the mapping from Win32 errors to
 * The following table contains the mapping from Win32 errors to
 * errno errors.
 * errno errors.
 */
 */
 
 
static char errorTable[] = {
static char errorTable[] = {
    0,
    0,
    EINVAL,     /* ERROR_INVALID_FUNCTION       1 */
    EINVAL,     /* ERROR_INVALID_FUNCTION       1 */
    ENOENT,     /* ERROR_FILE_NOT_FOUND         2 */
    ENOENT,     /* ERROR_FILE_NOT_FOUND         2 */
    ENOENT,     /* ERROR_PATH_NOT_FOUND         3 */
    ENOENT,     /* ERROR_PATH_NOT_FOUND         3 */
    EMFILE,     /* ERROR_TOO_MANY_OPEN_FILES    4 */
    EMFILE,     /* ERROR_TOO_MANY_OPEN_FILES    4 */
    EACCES,     /* ERROR_ACCESS_DENIED          5 */
    EACCES,     /* ERROR_ACCESS_DENIED          5 */
    EBADF,      /* ERROR_INVALID_HANDLE         6 */
    EBADF,      /* ERROR_INVALID_HANDLE         6 */
    ENOMEM,     /* ERROR_ARENA_TRASHED          7 */
    ENOMEM,     /* ERROR_ARENA_TRASHED          7 */
    ENOMEM,     /* ERROR_NOT_ENOUGH_MEMORY      8 */
    ENOMEM,     /* ERROR_NOT_ENOUGH_MEMORY      8 */
    ENOMEM,     /* ERROR_INVALID_BLOCK          9 */
    ENOMEM,     /* ERROR_INVALID_BLOCK          9 */
    E2BIG,      /* ERROR_BAD_ENVIRONMENT        10 */
    E2BIG,      /* ERROR_BAD_ENVIRONMENT        10 */
    ENOEXEC,    /* ERROR_BAD_FORMAT             11 */
    ENOEXEC,    /* ERROR_BAD_FORMAT             11 */
    EACCES,     /* ERROR_INVALID_ACCESS         12 */
    EACCES,     /* ERROR_INVALID_ACCESS         12 */
    EINVAL,     /* ERROR_INVALID_DATA           13 */
    EINVAL,     /* ERROR_INVALID_DATA           13 */
    EFAULT,     /* ERROR_OUT_OF_MEMORY          14 */
    EFAULT,     /* ERROR_OUT_OF_MEMORY          14 */
    ENOENT,     /* ERROR_INVALID_DRIVE          15 */
    ENOENT,     /* ERROR_INVALID_DRIVE          15 */
    EACCES,     /* ERROR_CURRENT_DIRECTORY      16 */
    EACCES,     /* ERROR_CURRENT_DIRECTORY      16 */
    EXDEV,      /* ERROR_NOT_SAME_DEVICE        17 */
    EXDEV,      /* ERROR_NOT_SAME_DEVICE        17 */
    ENOENT,     /* ERROR_NO_MORE_FILES          18 */
    ENOENT,     /* ERROR_NO_MORE_FILES          18 */
    EROFS,      /* ERROR_WRITE_PROTECT          19 */
    EROFS,      /* ERROR_WRITE_PROTECT          19 */
    ENXIO,      /* ERROR_BAD_UNIT               20 */
    ENXIO,      /* ERROR_BAD_UNIT               20 */
    EBUSY,      /* ERROR_NOT_READY              21 */
    EBUSY,      /* ERROR_NOT_READY              21 */
    EIO,        /* ERROR_BAD_COMMAND            22 */
    EIO,        /* ERROR_BAD_COMMAND            22 */
    EIO,        /* ERROR_CRC                    23 */
    EIO,        /* ERROR_CRC                    23 */
    EIO,        /* ERROR_BAD_LENGTH             24 */
    EIO,        /* ERROR_BAD_LENGTH             24 */
    EIO,        /* ERROR_SEEK                   25 */
    EIO,        /* ERROR_SEEK                   25 */
    EIO,        /* ERROR_NOT_DOS_DISK           26 */
    EIO,        /* ERROR_NOT_DOS_DISK           26 */
    ENXIO,      /* ERROR_SECTOR_NOT_FOUND       27 */
    ENXIO,      /* ERROR_SECTOR_NOT_FOUND       27 */
    EBUSY,      /* ERROR_OUT_OF_PAPER           28 */
    EBUSY,      /* ERROR_OUT_OF_PAPER           28 */
    EIO,        /* ERROR_WRITE_FAULT            29 */
    EIO,        /* ERROR_WRITE_FAULT            29 */
    EIO,        /* ERROR_READ_FAULT             30 */
    EIO,        /* ERROR_READ_FAULT             30 */
    EIO,        /* ERROR_GEN_FAILURE            31 */
    EIO,        /* ERROR_GEN_FAILURE            31 */
    EACCES,     /* ERROR_SHARING_VIOLATION      32 */
    EACCES,     /* ERROR_SHARING_VIOLATION      32 */
    EACCES,     /* ERROR_LOCK_VIOLATION         33 */
    EACCES,     /* ERROR_LOCK_VIOLATION         33 */
    ENXIO,      /* ERROR_WRONG_DISK             34 */
    ENXIO,      /* ERROR_WRONG_DISK             34 */
    ENFILE,     /* ERROR_FCB_UNAVAILABLE        35 */
    ENFILE,     /* ERROR_FCB_UNAVAILABLE        35 */
    ENFILE,     /* ERROR_SHARING_BUFFER_EXCEEDED        36 */
    ENFILE,     /* ERROR_SHARING_BUFFER_EXCEEDED        36 */
    EINVAL,     /* 37 */
    EINVAL,     /* 37 */
    EINVAL,     /* 38 */
    EINVAL,     /* 38 */
    ENOSPC,     /* ERROR_HANDLE_DISK_FULL       39 */
    ENOSPC,     /* ERROR_HANDLE_DISK_FULL       39 */
    EINVAL,     /* 40 */
    EINVAL,     /* 40 */
    EINVAL,     /* 41 */
    EINVAL,     /* 41 */
    EINVAL,     /* 42 */
    EINVAL,     /* 42 */
    EINVAL,     /* 43 */
    EINVAL,     /* 43 */
    EINVAL,     /* 44 */
    EINVAL,     /* 44 */
    EINVAL,     /* 45 */
    EINVAL,     /* 45 */
    EINVAL,     /* 46 */
    EINVAL,     /* 46 */
    EINVAL,     /* 47 */
    EINVAL,     /* 47 */
    EINVAL,     /* 48 */
    EINVAL,     /* 48 */
    EINVAL,     /* 49 */
    EINVAL,     /* 49 */
    ENODEV,     /* ERROR_NOT_SUPPORTED          50 */
    ENODEV,     /* ERROR_NOT_SUPPORTED          50 */
    EBUSY,      /* ERROR_REM_NOT_LIST           51 */
    EBUSY,      /* ERROR_REM_NOT_LIST           51 */
    EEXIST,     /* ERROR_DUP_NAME               52 */
    EEXIST,     /* ERROR_DUP_NAME               52 */
    ENOENT,     /* ERROR_BAD_NETPATH            53 */
    ENOENT,     /* ERROR_BAD_NETPATH            53 */
    EBUSY,      /* ERROR_NETWORK_BUSY           54 */
    EBUSY,      /* ERROR_NETWORK_BUSY           54 */
    ENODEV,     /* ERROR_DEV_NOT_EXIST          55 */
    ENODEV,     /* ERROR_DEV_NOT_EXIST          55 */
    EAGAIN,     /* ERROR_TOO_MANY_CMDS          56 */
    EAGAIN,     /* ERROR_TOO_MANY_CMDS          56 */
    EIO,        /* ERROR_ADAP_HDW_ERR           57 */
    EIO,        /* ERROR_ADAP_HDW_ERR           57 */
    EIO,        /* ERROR_BAD_NET_RESP           58 */
    EIO,        /* ERROR_BAD_NET_RESP           58 */
    EIO,        /* ERROR_UNEXP_NET_ERR          59 */
    EIO,        /* ERROR_UNEXP_NET_ERR          59 */
    EINVAL,     /* ERROR_BAD_REM_ADAP           60 */
    EINVAL,     /* ERROR_BAD_REM_ADAP           60 */
    EFBIG,      /* ERROR_PRINTQ_FULL            61 */
    EFBIG,      /* ERROR_PRINTQ_FULL            61 */
    ENOSPC,     /* ERROR_NO_SPOOL_SPACE         62 */
    ENOSPC,     /* ERROR_NO_SPOOL_SPACE         62 */
    ENOENT,     /* ERROR_PRINT_CANCELLED        63 */
    ENOENT,     /* ERROR_PRINT_CANCELLED        63 */
    ENOENT,     /* ERROR_NETNAME_DELETED        64 */
    ENOENT,     /* ERROR_NETNAME_DELETED        64 */
    EACCES,     /* ERROR_NETWORK_ACCESS_DENIED  65 */
    EACCES,     /* ERROR_NETWORK_ACCESS_DENIED  65 */
    ENODEV,     /* ERROR_BAD_DEV_TYPE           66 */
    ENODEV,     /* ERROR_BAD_DEV_TYPE           66 */
    ENOENT,     /* ERROR_BAD_NET_NAME           67 */
    ENOENT,     /* ERROR_BAD_NET_NAME           67 */
    ENFILE,     /* ERROR_TOO_MANY_NAMES         68 */
    ENFILE,     /* ERROR_TOO_MANY_NAMES         68 */
    EIO,        /* ERROR_TOO_MANY_SESS          69 */
    EIO,        /* ERROR_TOO_MANY_SESS          69 */
    EAGAIN,     /* ERROR_SHARING_PAUSED         70 */
    EAGAIN,     /* ERROR_SHARING_PAUSED         70 */
    EINVAL,     /* ERROR_REQ_NOT_ACCEP          71 */
    EINVAL,     /* ERROR_REQ_NOT_ACCEP          71 */
    EAGAIN,     /* ERROR_REDIR_PAUSED           72 */
    EAGAIN,     /* ERROR_REDIR_PAUSED           72 */
    EINVAL,     /* 73 */
    EINVAL,     /* 73 */
    EINVAL,     /* 74 */
    EINVAL,     /* 74 */
    EINVAL,     /* 75 */
    EINVAL,     /* 75 */
    EINVAL,     /* 76 */
    EINVAL,     /* 76 */
    EINVAL,     /* 77 */
    EINVAL,     /* 77 */
    EINVAL,     /* 78 */
    EINVAL,     /* 78 */
    EINVAL,     /* 79 */
    EINVAL,     /* 79 */
    EEXIST,     /* ERROR_FILE_EXISTS            80 */
    EEXIST,     /* ERROR_FILE_EXISTS            80 */
    EINVAL,     /* 81 */
    EINVAL,     /* 81 */
    ENOSPC,     /* ERROR_CANNOT_MAKE            82 */
    ENOSPC,     /* ERROR_CANNOT_MAKE            82 */
    EIO,        /* ERROR_FAIL_I24               83 */
    EIO,        /* ERROR_FAIL_I24               83 */
    ENFILE,     /* ERROR_OUT_OF_STRUCTURES      84 */
    ENFILE,     /* ERROR_OUT_OF_STRUCTURES      84 */
    EEXIST,     /* ERROR_ALREADY_ASSIGNED       85 */
    EEXIST,     /* ERROR_ALREADY_ASSIGNED       85 */
    EPERM,      /* ERROR_INVALID_PASSWORD       86 */
    EPERM,      /* ERROR_INVALID_PASSWORD       86 */
    EINVAL,     /* ERROR_INVALID_PARAMETER      87 */
    EINVAL,     /* ERROR_INVALID_PARAMETER      87 */
    EIO,        /* ERROR_NET_WRITE_FAULT        88 */
    EIO,        /* ERROR_NET_WRITE_FAULT        88 */
    EAGAIN,     /* ERROR_NO_PROC_SLOTS          89 */
    EAGAIN,     /* ERROR_NO_PROC_SLOTS          89 */
    EINVAL,     /* 90 */
    EINVAL,     /* 90 */
    EINVAL,     /* 91 */
    EINVAL,     /* 91 */
    EINVAL,     /* 92 */
    EINVAL,     /* 92 */
    EINVAL,     /* 93 */
    EINVAL,     /* 93 */
    EINVAL,     /* 94 */
    EINVAL,     /* 94 */
    EINVAL,     /* 95 */
    EINVAL,     /* 95 */
    EINVAL,     /* 96 */
    EINVAL,     /* 96 */
    EINVAL,     /* 97 */
    EINVAL,     /* 97 */
    EINVAL,     /* 98 */
    EINVAL,     /* 98 */
    EINVAL,     /* 99 */
    EINVAL,     /* 99 */
    EINVAL,     /* 100 */
    EINVAL,     /* 100 */
    EINVAL,     /* 101 */
    EINVAL,     /* 101 */
    EINVAL,     /* 102 */
    EINVAL,     /* 102 */
    EINVAL,     /* 103 */
    EINVAL,     /* 103 */
    EINVAL,     /* 104 */
    EINVAL,     /* 104 */
    EINVAL,     /* 105 */
    EINVAL,     /* 105 */
    EINVAL,     /* 106 */
    EINVAL,     /* 106 */
    EXDEV,      /* ERROR_DISK_CHANGE            107 */
    EXDEV,      /* ERROR_DISK_CHANGE            107 */
    EAGAIN,     /* ERROR_DRIVE_LOCKED           108 */
    EAGAIN,     /* ERROR_DRIVE_LOCKED           108 */
    EPIPE,      /* ERROR_BROKEN_PIPE            109 */
    EPIPE,      /* ERROR_BROKEN_PIPE            109 */
    ENOENT,     /* ERROR_OPEN_FAILED            110 */
    ENOENT,     /* ERROR_OPEN_FAILED            110 */
    EINVAL,     /* ERROR_BUFFER_OVERFLOW        111 */
    EINVAL,     /* ERROR_BUFFER_OVERFLOW        111 */
    ENOSPC,     /* ERROR_DISK_FULL              112 */
    ENOSPC,     /* ERROR_DISK_FULL              112 */
    EMFILE,     /* ERROR_NO_MORE_SEARCH_HANDLES 113 */
    EMFILE,     /* ERROR_NO_MORE_SEARCH_HANDLES 113 */
    EBADF,      /* ERROR_INVALID_TARGET_HANDLE  114 */
    EBADF,      /* ERROR_INVALID_TARGET_HANDLE  114 */
    EFAULT,     /* ERROR_PROTECTION_VIOLATION   115 */
    EFAULT,     /* ERROR_PROTECTION_VIOLATION   115 */
    EINVAL,     /* 116 */
    EINVAL,     /* 116 */
    EINVAL,     /* 117 */
    EINVAL,     /* 117 */
    EINVAL,     /* 118 */
    EINVAL,     /* 118 */
    EINVAL,     /* 119 */
    EINVAL,     /* 119 */
    EINVAL,     /* 120 */
    EINVAL,     /* 120 */
    EINVAL,     /* 121 */
    EINVAL,     /* 121 */
    EINVAL,     /* 122 */
    EINVAL,     /* 122 */
    ENOENT,     /* ERROR_INVALID_NAME           123 */
    ENOENT,     /* ERROR_INVALID_NAME           123 */
    EINVAL,     /* 124 */
    EINVAL,     /* 124 */
    EINVAL,     /* 125 */
    EINVAL,     /* 125 */
    EINVAL,     /* 126 */
    EINVAL,     /* 126 */
    ESRCH,      /* ERROR_PROC_NOT_FOUND         127 */
    ESRCH,      /* ERROR_PROC_NOT_FOUND         127 */
    ECHILD,     /* ERROR_WAIT_NO_CHILDREN       128 */
    ECHILD,     /* ERROR_WAIT_NO_CHILDREN       128 */
    ECHILD,     /* ERROR_CHILD_NOT_COMPLETE     129 */
    ECHILD,     /* ERROR_CHILD_NOT_COMPLETE     129 */
    EBADF,      /* ERROR_DIRECT_ACCESS_HANDLE   130 */
    EBADF,      /* ERROR_DIRECT_ACCESS_HANDLE   130 */
    EINVAL,     /* 131 */
    EINVAL,     /* 131 */
    ESPIPE,     /* ERROR_SEEK_ON_DEVICE         132 */
    ESPIPE,     /* ERROR_SEEK_ON_DEVICE         132 */
    EINVAL,     /* 133 */
    EINVAL,     /* 133 */
    EINVAL,     /* 134 */
    EINVAL,     /* 134 */
    EINVAL,     /* 135 */
    EINVAL,     /* 135 */
    EINVAL,     /* 136 */
    EINVAL,     /* 136 */
    EINVAL,     /* 137 */
    EINVAL,     /* 137 */
    EINVAL,     /* 138 */
    EINVAL,     /* 138 */
    EINVAL,     /* 139 */
    EINVAL,     /* 139 */
    EINVAL,     /* 140 */
    EINVAL,     /* 140 */
    EINVAL,     /* 141 */
    EINVAL,     /* 141 */
    EAGAIN,     /* ERROR_BUSY_DRIVE             142 */
    EAGAIN,     /* ERROR_BUSY_DRIVE             142 */
    EINVAL,     /* 143 */
    EINVAL,     /* 143 */
    EINVAL,     /* 144 */
    EINVAL,     /* 144 */
    EEXIST,     /* ERROR_DIR_NOT_EMPTY          145 */
    EEXIST,     /* ERROR_DIR_NOT_EMPTY          145 */
    EINVAL,     /* 146 */
    EINVAL,     /* 146 */
    EINVAL,     /* 147 */
    EINVAL,     /* 147 */
    EINVAL,     /* 148 */
    EINVAL,     /* 148 */
    EINVAL,     /* 149 */
    EINVAL,     /* 149 */
    EINVAL,     /* 150 */
    EINVAL,     /* 150 */
    EINVAL,     /* 151 */
    EINVAL,     /* 151 */
    EINVAL,     /* 152 */
    EINVAL,     /* 152 */
    EINVAL,     /* 153 */
    EINVAL,     /* 153 */
    EINVAL,     /* 154 */
    EINVAL,     /* 154 */
    EINVAL,     /* 155 */
    EINVAL,     /* 155 */
    EINVAL,     /* 156 */
    EINVAL,     /* 156 */
    EINVAL,     /* 157 */
    EINVAL,     /* 157 */
    EACCES,     /* ERROR_NOT_LOCKED             158 */
    EACCES,     /* ERROR_NOT_LOCKED             158 */
    EINVAL,     /* 159 */
    EINVAL,     /* 159 */
    EINVAL,     /* 160 */
    EINVAL,     /* 160 */
    ENOENT,     /* ERROR_BAD_PATHNAME           161 */
    ENOENT,     /* ERROR_BAD_PATHNAME           161 */
    EINVAL,     /* 162 */
    EINVAL,     /* 162 */
    EINVAL,     /* 163 */
    EINVAL,     /* 163 */
    EINVAL,     /* 164 */
    EINVAL,     /* 164 */
    EINVAL,     /* 165 */
    EINVAL,     /* 165 */
    EINVAL,     /* 166 */
    EINVAL,     /* 166 */
    EACCES,     /* ERROR_LOCK_FAILED            167 */
    EACCES,     /* ERROR_LOCK_FAILED            167 */
    EINVAL,     /* 168 */
    EINVAL,     /* 168 */
    EINVAL,     /* 169 */
    EINVAL,     /* 169 */
    EINVAL,     /* 170 */
    EINVAL,     /* 170 */
    EINVAL,     /* 171 */
    EINVAL,     /* 171 */
    EINVAL,     /* 172 */
    EINVAL,     /* 172 */
    EINVAL,     /* 173 */
    EINVAL,     /* 173 */
    EINVAL,     /* 174 */
    EINVAL,     /* 174 */
    EINVAL,     /* 175 */
    EINVAL,     /* 175 */
    EINVAL,     /* 176 */
    EINVAL,     /* 176 */
    EINVAL,     /* 177 */
    EINVAL,     /* 177 */
    EINVAL,     /* 178 */
    EINVAL,     /* 178 */
    EINVAL,     /* 179 */
    EINVAL,     /* 179 */
    EINVAL,     /* 180 */
    EINVAL,     /* 180 */
    EINVAL,     /* 181 */
    EINVAL,     /* 181 */
    EINVAL,     /* 182 */
    EINVAL,     /* 182 */
    EEXIST,     /* ERROR_ALREADY_EXISTS         183 */
    EEXIST,     /* ERROR_ALREADY_EXISTS         183 */
    ECHILD,     /* ERROR_NO_CHILD_PROCESS       184 */
    ECHILD,     /* ERROR_NO_CHILD_PROCESS       184 */
    EINVAL,     /* 185 */
    EINVAL,     /* 185 */
    EINVAL,     /* 186 */
    EINVAL,     /* 186 */
    EINVAL,     /* 187 */
    EINVAL,     /* 187 */
    EINVAL,     /* 188 */
    EINVAL,     /* 188 */
    EINVAL,     /* 189 */
    EINVAL,     /* 189 */
    EINVAL,     /* 190 */
    EINVAL,     /* 190 */
    EINVAL,     /* 191 */
    EINVAL,     /* 191 */
    EINVAL,     /* 192 */
    EINVAL,     /* 192 */
    EINVAL,     /* 193 */
    EINVAL,     /* 193 */
    EINVAL,     /* 194 */
    EINVAL,     /* 194 */
    EINVAL,     /* 195 */
    EINVAL,     /* 195 */
    EINVAL,     /* 196 */
    EINVAL,     /* 196 */
    EINVAL,     /* 197 */
    EINVAL,     /* 197 */
    EINVAL,     /* 198 */
    EINVAL,     /* 198 */
    EINVAL,     /* 199 */
    EINVAL,     /* 199 */
    EINVAL,     /* 200 */
    EINVAL,     /* 200 */
    EINVAL,     /* 201 */
    EINVAL,     /* 201 */
    EINVAL,     /* 202 */
    EINVAL,     /* 202 */
    EINVAL,     /* 203 */
    EINVAL,     /* 203 */
    EINVAL,     /* 204 */
    EINVAL,     /* 204 */
    EINVAL,     /* 205 */
    EINVAL,     /* 205 */
    ENAMETOOLONG,/* ERROR_FILENAME_EXCED_RANGE  206 */
    ENAMETOOLONG,/* ERROR_FILENAME_EXCED_RANGE  206 */
    EINVAL,     /* 207 */
    EINVAL,     /* 207 */
    EINVAL,     /* 208 */
    EINVAL,     /* 208 */
    EINVAL,     /* 209 */
    EINVAL,     /* 209 */
    EINVAL,     /* 210 */
    EINVAL,     /* 210 */
    EINVAL,     /* 211 */
    EINVAL,     /* 211 */
    EINVAL,     /* 212 */
    EINVAL,     /* 212 */
    EINVAL,     /* 213 */
    EINVAL,     /* 213 */
    EINVAL,     /* 214 */
    EINVAL,     /* 214 */
    EINVAL,     /* 215 */
    EINVAL,     /* 215 */
    EINVAL,     /* 216 */
    EINVAL,     /* 216 */
    EINVAL,     /* 217 */
    EINVAL,     /* 217 */
    EINVAL,     /* 218 */
    EINVAL,     /* 218 */
    EINVAL,     /* 219 */
    EINVAL,     /* 219 */
    EINVAL,     /* 220 */
    EINVAL,     /* 220 */
    EINVAL,     /* 221 */
    EINVAL,     /* 221 */
    EINVAL,     /* 222 */
    EINVAL,     /* 222 */
    EINVAL,     /* 223 */
    EINVAL,     /* 223 */
    EINVAL,     /* 224 */
    EINVAL,     /* 224 */
    EINVAL,     /* 225 */
    EINVAL,     /* 225 */
    EINVAL,     /* 226 */
    EINVAL,     /* 226 */
    EINVAL,     /* 227 */
    EINVAL,     /* 227 */
    EINVAL,     /* 228 */
    EINVAL,     /* 228 */
    EINVAL,     /* 229 */
    EINVAL,     /* 229 */
    EPIPE,      /* ERROR_BAD_PIPE               230 */
    EPIPE,      /* ERROR_BAD_PIPE               230 */
    EAGAIN,     /* ERROR_PIPE_BUSY              231 */
    EAGAIN,     /* ERROR_PIPE_BUSY              231 */
    EPIPE,      /* ERROR_NO_DATA                232 */
    EPIPE,      /* ERROR_NO_DATA                232 */
    EPIPE,      /* ERROR_PIPE_NOT_CONNECTED     233 */
    EPIPE,      /* ERROR_PIPE_NOT_CONNECTED     233 */
    EINVAL,     /* 234 */
    EINVAL,     /* 234 */
    EINVAL,     /* 235 */
    EINVAL,     /* 235 */
    EINVAL,     /* 236 */
    EINVAL,     /* 236 */
    EINVAL,     /* 237 */
    EINVAL,     /* 237 */
    EINVAL,     /* 238 */
    EINVAL,     /* 238 */
    EINVAL,     /* 239 */
    EINVAL,     /* 239 */
    EINVAL,     /* 240 */
    EINVAL,     /* 240 */
    EINVAL,     /* 241 */
    EINVAL,     /* 241 */
    EINVAL,     /* 242 */
    EINVAL,     /* 242 */
    EINVAL,     /* 243 */
    EINVAL,     /* 243 */
    EINVAL,     /* 244 */
    EINVAL,     /* 244 */
    EINVAL,     /* 245 */
    EINVAL,     /* 245 */
    EINVAL,     /* 246 */
    EINVAL,     /* 246 */
    EINVAL,     /* 247 */
    EINVAL,     /* 247 */
    EINVAL,     /* 248 */
    EINVAL,     /* 248 */
    EINVAL,     /* 249 */
    EINVAL,     /* 249 */
    EINVAL,     /* 250 */
    EINVAL,     /* 250 */
    EINVAL,     /* 251 */
    EINVAL,     /* 251 */
    EINVAL,     /* 252 */
    EINVAL,     /* 252 */
    EINVAL,     /* 253 */
    EINVAL,     /* 253 */
    EINVAL,     /* 254 */
    EINVAL,     /* 254 */
    EINVAL,     /* 255 */
    EINVAL,     /* 255 */
    EINVAL,     /* 256 */
    EINVAL,     /* 256 */
    EINVAL,     /* 257 */
    EINVAL,     /* 257 */
    EINVAL,     /* 258 */
    EINVAL,     /* 258 */
    EINVAL,     /* 259 */
    EINVAL,     /* 259 */
    EINVAL,     /* 260 */
    EINVAL,     /* 260 */
    EINVAL,     /* 261 */
    EINVAL,     /* 261 */
    EINVAL,     /* 262 */
    EINVAL,     /* 262 */
    EINVAL,     /* 263 */
    EINVAL,     /* 263 */
    EINVAL,     /* 264 */
    EINVAL,     /* 264 */
    EINVAL,     /* 265 */
    EINVAL,     /* 265 */
    EINVAL,     /* 266 */
    EINVAL,     /* 266 */
    ENOTDIR,    /* ERROR_DIRECTORY              267 */
    ENOTDIR,    /* ERROR_DIRECTORY              267 */
};
};
 
 
static const unsigned int tableLen = sizeof(errorTable);
static const unsigned int tableLen = sizeof(errorTable);
 
 
/*
/*
 * The following table contains the mapping from WinSock errors to
 * The following table contains the mapping from WinSock errors to
 * errno errors.
 * errno errors.
 */
 */
 
 
static int wsaErrorTable[] = {
static int wsaErrorTable[] = {
    EWOULDBLOCK,        /* WSAEWOULDBLOCK */
    EWOULDBLOCK,        /* WSAEWOULDBLOCK */
    EINPROGRESS,        /* WSAEINPROGRESS */
    EINPROGRESS,        /* WSAEINPROGRESS */
    EALREADY,           /* WSAEALREADY */
    EALREADY,           /* WSAEALREADY */
    ENOTSOCK,           /* WSAENOTSOCK */
    ENOTSOCK,           /* WSAENOTSOCK */
    EDESTADDRREQ,       /* WSAEDESTADDRREQ */
    EDESTADDRREQ,       /* WSAEDESTADDRREQ */
    EMSGSIZE,           /* WSAEMSGSIZE */
    EMSGSIZE,           /* WSAEMSGSIZE */
    EPROTOTYPE,         /* WSAEPROTOTYPE */
    EPROTOTYPE,         /* WSAEPROTOTYPE */
    ENOPROTOOPT,        /* WSAENOPROTOOPT */
    ENOPROTOOPT,        /* WSAENOPROTOOPT */
    EPROTONOSUPPORT,    /* WSAEPROTONOSUPPORT */
    EPROTONOSUPPORT,    /* WSAEPROTONOSUPPORT */
    ESOCKTNOSUPPORT,    /* WSAESOCKTNOSUPPORT */
    ESOCKTNOSUPPORT,    /* WSAESOCKTNOSUPPORT */
    EOPNOTSUPP,         /* WSAEOPNOTSUPP */
    EOPNOTSUPP,         /* WSAEOPNOTSUPP */
    EPFNOSUPPORT,       /* WSAEPFNOSUPPORT */
    EPFNOSUPPORT,       /* WSAEPFNOSUPPORT */
    EAFNOSUPPORT,       /* WSAEAFNOSUPPORT */
    EAFNOSUPPORT,       /* WSAEAFNOSUPPORT */
    EADDRINUSE,         /* WSAEADDRINUSE */
    EADDRINUSE,         /* WSAEADDRINUSE */
    EADDRNOTAVAIL,      /* WSAEADDRNOTAVAIL */
    EADDRNOTAVAIL,      /* WSAEADDRNOTAVAIL */
    ENETDOWN,           /* WSAENETDOWN */
    ENETDOWN,           /* WSAENETDOWN */
    ENETUNREACH,        /* WSAENETUNREACH */
    ENETUNREACH,        /* WSAENETUNREACH */
    ENETRESET,          /* WSAENETRESET */
    ENETRESET,          /* WSAENETRESET */
    ECONNABORTED,       /* WSAECONNABORTED */
    ECONNABORTED,       /* WSAECONNABORTED */
    ECONNRESET,         /* WSAECONNRESET */
    ECONNRESET,         /* WSAECONNRESET */
    ENOBUFS,            /* WSAENOBUFS */
    ENOBUFS,            /* WSAENOBUFS */
    EISCONN,            /* WSAEISCONN */
    EISCONN,            /* WSAEISCONN */
    ENOTCONN,           /* WSAENOTCONN */
    ENOTCONN,           /* WSAENOTCONN */
    ESHUTDOWN,          /* WSAESHUTDOWN */
    ESHUTDOWN,          /* WSAESHUTDOWN */
    ETOOMANYREFS,       /* WSAETOOMANYREFS */
    ETOOMANYREFS,       /* WSAETOOMANYREFS */
    ETIMEDOUT,          /* WSAETIMEDOUT */
    ETIMEDOUT,          /* WSAETIMEDOUT */
    ECONNREFUSED,       /* WSAECONNREFUSED */
    ECONNREFUSED,       /* WSAECONNREFUSED */
    ELOOP,              /* WSAELOOP */
    ELOOP,              /* WSAELOOP */
    ENAMETOOLONG,       /* WSAENAMETOOLONG */
    ENAMETOOLONG,       /* WSAENAMETOOLONG */
    EHOSTDOWN,          /* WSAEHOSTDOWN */
    EHOSTDOWN,          /* WSAEHOSTDOWN */
    EHOSTUNREACH,       /* WSAEHOSTUNREACH */
    EHOSTUNREACH,       /* WSAEHOSTUNREACH */
    ENOTEMPTY,          /* WSAENOTEMPTY */
    ENOTEMPTY,          /* WSAENOTEMPTY */
    EAGAIN,             /* WSAEPROCLIM */
    EAGAIN,             /* WSAEPROCLIM */
    EUSERS,             /* WSAEUSERS */
    EUSERS,             /* WSAEUSERS */
    EDQUOT,             /* WSAEDQUOT */
    EDQUOT,             /* WSAEDQUOT */
    ESTALE,             /* WSAESTALE */
    ESTALE,             /* WSAESTALE */
    EREMOTE,            /* WSAEREMOTE */
    EREMOTE,            /* WSAEREMOTE */
};
};


/*
/*
 *----------------------------------------------------------------------
 *----------------------------------------------------------------------
 *
 *
 * TclWinConvertError --
 * TclWinConvertError --
 *
 *
 *      This routine converts a Win32 error into an errno value.
 *      This routine converts a Win32 error into an errno value.
 *
 *
 * Results:
 * Results:
 *      None.
 *      None.
 *
 *
 * Side effects:
 * Side effects:
 *      Sets the errno global variable.
 *      Sets the errno global variable.
 *
 *
 *----------------------------------------------------------------------
 *----------------------------------------------------------------------
 */
 */
 
 
void
void
TclWinConvertError(errCode)
TclWinConvertError(errCode)
    DWORD errCode;              /* Win32 error code. */
    DWORD errCode;              /* Win32 error code. */
{
{
    if (errCode >= tableLen) {
    if (errCode >= tableLen) {
        Tcl_SetErrno(EINVAL);
        Tcl_SetErrno(EINVAL);
    } else {
    } else {
        Tcl_SetErrno(errorTable[errCode]);
        Tcl_SetErrno(errorTable[errCode]);
    }
    }
}
}


/*
/*
 *----------------------------------------------------------------------
 *----------------------------------------------------------------------
 *
 *
 * TclWinConvertWSAError --
 * TclWinConvertWSAError --
 *
 *
 *      This routine converts a WinSock error into an errno value.
 *      This routine converts a WinSock error into an errno value.
 *
 *
 * Results:
 * Results:
 *      None.
 *      None.
 *
 *
 * Side effects:
 * Side effects:
 *      Sets the errno global variable.
 *      Sets the errno global variable.
 *
 *
 *----------------------------------------------------------------------
 *----------------------------------------------------------------------
 */
 */
 
 
void
void
TclWinConvertWSAError(errCode)
TclWinConvertWSAError(errCode)
    DWORD errCode;              /* Win32 error code. */
    DWORD errCode;              /* Win32 error code. */
{
{
    if ((errCode >= WSAEWOULDBLOCK) && (errCode <= WSAEREMOTE)) {
    if ((errCode >= WSAEWOULDBLOCK) && (errCode <= WSAEREMOTE)) {
        Tcl_SetErrno(wsaErrorTable[errCode - WSAEWOULDBLOCK]);
        Tcl_SetErrno(wsaErrorTable[errCode - WSAEWOULDBLOCK]);
    } else {
    } else {
        Tcl_SetErrno(EINVAL);
        Tcl_SetErrno(EINVAL);
    }
    }
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.