[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Error handling in Win32 + gnulib
From: |
Paolo Bonzini |
Subject: |
Re: Error handling in Win32 + gnulib |
Date: |
Mon, 30 Nov 2009 11:40:00 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.4pre) Gecko/20090922 Fedora/3.0-3.9.b4.fc12 Lightning/1.0pre Thunderbird/3.0b4 |
On 11/30/2009 10:16 AM, Richard W.M. Jones wrote:
My take from this is that we need a 'set_errno' function which is
equivalent to 'set_winsock_errno' and is used for all non-socket
functions.
For all non-socket functions that are mapped to Win32 functions, yes.
Here is the list that Wine uses, it is at least a good starting point:
ERROR_ACCESS_DENIED
ERROR_CANNOT_MAKE
ERROR_CURRENT_DIRECTORY
ERROR_DRIVE_LOCKED
ERROR_FAIL_I24
ERROR_INVALID_ACCESS
ERROR_LOCK_FAILED
ERROR_LOCK_VIOLATION
ERROR_NETWORK_ACCESS_DENIED
ERROR_NOT_LOCKED
ERROR_SEEK_ON_DEVICE
map to EACCES
ERROR_BAD_NET_NAME
ERROR_BAD_NETPATH
ERROR_BAD_PATHNAME
ERROR_FILENAME_EXCED_RANGE (better: ERANGE)
ERROR_FILE_NOT_FOUND
ERROR_INVALID_DRIVE
ERROR_NO_MORE_FILES
ERROR_PATH_NOT_FOUND
map to ENOENT
ERROR_IO_DEVICE
map to EIO
ERROR_BAD_FORMAT
map to ENOEXEC
ERROR_INVALID_HANDLE
map to EBADF
ERROR_ARENA_TRASHED
ERROR_INVALID_BLOCK
ERROR_NOT_ENOUGH_QUOTA (better: EDQUOT)
ERROR_OUTOFMEMORY
map to ENOMEM
ERROR_BUSY
map to EBUSY
ERROR_ALREADY_EXISTS
ERROR_FILE_EXISTS
map to EEXIST
ERROR_BAD_DEVICE
map to ENODEV
ERROR_TOO_MANY_OPEN_FILES
map to EMFILE
ERROR_DISK_FULL
map to ENOSPC
ERROR_BROKEN_PIPE
map to EPIPE
ERROR_POSSIBLE_DEADLOCK
map to EDEADLK
ERROR_DIR_NOT_EMPTY
map to ENOTEMPTY
ERROR_BAD_ENVIRONMENT
map to E2BIG
ERROR_CHILD_NOT_COMPLETE
ERROR_WAIT_NO_CHILDREN
map to ECHILD
ERROR_MAX_THRDS_REACHED
ERROR_NESTING_NOT_ALLOWED
ERROR_NO_PROC_SLOTS
map to EAGAIN
Paolo