bug-gnulib
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]