Error numbers
There are two incompatibilities in errno s:
Errors with different values
There are three classs of error numbers with different values on
UnixWare 7 and SCO OpenServer:
Errors that are semantically the same on both systems but have
different error numbers on each system; these errors are directly
translated on UnixWare 7 (for SCO OpenServer binaries) by the kernel and on
SCO OpenServer (for binaries created using the UnixWare 7 UDK) by the
Binary Compatibility Module (BCM) for SCO OpenServer.
See
``Errors that have different errnos on each system'' .
Errors on UnixWare 7 (and SCO UnixWare 2.1.X) that are not on SCO OpenServer; these errors
are translated by the code for each system call on UnixWare 7, so that an error
appropriate for SCO OpenServer applications is returned.
UDK applications running on SCO OpenServer will not see these errors;
the behavior of portable programs should not be made to depend on the
target system returning these errors.
See
``Errors on UnixWare 7 but not SCO OpenServer'' .
Errors on SCO OpenServer that are not on UnixWare 7 (and SCO UnixWare 2.1.X); the
resolution of the incompatibilities varies depending on the system
call, and is presented in
``Errors on SCO OpenServer but not UnixWare 7'' .
Errors that have different errnos on each system
[If this table is unreadable, a preformatted table follows]
Error mnemonic
UnixWare 7 errno
SCO OpenServer errno
ELOOP
90
150
ERESTART
91
152
ESTRPIPE
92
153
ENOTEMPTY
93
145
ENOSTOCK
95
93
EDESTADDRREQ
96
94
EMSGSIZE
97
95
EPROTOTYPE
98
96
ENOPROTOOPT
99
118
EPROTONOSUPPORT
120
97
ESOCKTNOSUPPORT
121
98
EOPNOTSUPP
122
99
EPFNOSUPPORT
123
100
EAFNOSUPPORT
124
101
EADDRINUSE
125
102
EADDRNOTAVAIL
126
103
ENETDOWN
127
104
ENETUNREACH
128
105
ENETRESET
129
106
ECONNABORTED
130
107
ECONNRESET
131
108
ENOBUFS
132
109
EISCONN
133
110
ENOTCONN
134
111
ESHUTDOWN
143
112
ETOOMANYREFS
144
113
ETIMEDOUT
145
114
ECONNREFUSED
146
115
EHOSTDOWN
147
116
EHOSTUNREACH
148
117
EWOULDBLOCK
11(EAGAIN)
90
EALREADY
149
92
EINPPROGRESS
150
91
------------------------------------------------------------
| Error mnemonic | UnixWare 7 errno | SCO OpenServer errno |
|----------------|-------------------|----------------------|
| ELOOP | 90 | 150 |
|----------------|-------------------|----------------------|
| ERESTART | 91 | 152 |
|----------------|-------------------|----------------------|
| ESTRPIPE | 92 | 153 |
|----------------|-------------------|----------------------|
| ENOTEMPTY | 93 | 145 |
|----------------|-------------------|----------------------|
| ENOSTOCK | 95 | 93 |
|----------------|-------------------|----------------------|
| EDESTADDRREQ | 96 | 94 |
|----------------|-------------------|----------------------|
| EMSGSIZE | 97 | 95 |
|----------------|-------------------|----------------------|
| EPROTOTYPE | 98 | 96 |
|----------------|-------------------|----------------------|
| ENOPROTOOPT | 99 | 118 |
|----------------|-------------------|----------------------|
| EPROTONOSUPPORT| 120 | 97 |
|----------------|-------------------|----------------------|
| ESOCKTNOSUPPORT| 121 | 98 |
|----------------|-------------------|----------------------|
| EOPNOTSUPP | 122 | 99 |
|----------------|-------------------|----------------------|
| EPFNOSUPPORT | 123 | 100 |
|----------------|-------------------|----------------------|
| EAFNOSUPPORT | 124 | 101 |
|----------------|-------------------|----------------------|
| EADDRINUSE | 125 | 102 |
|----------------|-------------------|----------------------|
| EADDRNOTAVAIL | 126 | 103 |
|----------------|-------------------|----------------------|
| ENETDOWN | 127 | 104 |
|----------------|-------------------|----------------------|
| ENETUNREACH | 128 | 105 |
|----------------|-------------------|----------------------|
| ENETRESET | 129 | 106 |
|----------------|-------------------|----------------------|
| ECONNABORTED | 130 | 107 |
|----------------|-------------------|----------------------|
| ECONNRESET | 131 | 108 |
|----------------|-------------------|----------------------|
| ENOBUFS | 132 | 109 |
|----------------|-------------------|----------------------|
| EISCONN | 133 | 110 |
|----------------|-------------------|----------------------|
| ENOTCONN | 134 | 111 |
|----------------|-------------------|----------------------|
| ESHUTDOWN | 143 | 112 |
|----------------|-------------------|----------------------|
| ETOOMANYREFS | 144 | 113 |
|----------------|-------------------|----------------------|
| ETIMEDOUT | 145 | 114 |
|----------------|-------------------|----------------------|
| ECONNREFUSED | 146 | 115 |
|----------------|-------------------|----------------------|
| EHOSTDOWN | 147 | 116 |
|----------------|-------------------|----------------------|
| EHOSTUNREACH | 148 | 117 |
|----------------|-------------------|----------------------|
| EWOULDBLOCK | 11(EAGAIN) | 90 |
|----------------|-------------------|----------------------|
| EALREADY | 149 | 92 |
|----------------|-------------------|----------------------|
| EINPPROGRESS | 150 | 91 |
|----------------|-------------------|----------------------|
Errors on UnixWare 7 but not SCO OpenServer
[If this table is unreadable, a preformatted table follows]
Mnemonic
UnixWare 7 #
SCO OpenServer #
ECLNRACE
59
ENOLOAD
152
ERELOC
153
ENOMATCH
154
EBADVER
156
ECONFIG
157
ECANCELED
158
EUSERS
94
ENOTAUTH
160
ELKBUSY
170
Olivetti
200-223
---------------------------------------------
| Mnemonic | UnixWare 7 # | SCO OpenServer #|
|----------|--------------|------------------|
| ECLNRACE | 59 | |
|----------|--------------|------------------|
| ENOLOAD | 152 | |
|----------|--------------|------------------|
| ERELOC | 153 | |
|----------|--------------|------------------|
| ENOMATCH | 154 | |
|----------|--------------|------------------|
| EBADVER | 156 | |
|----------|--------------|------------------|
| ECONFIG | 157 | |
|----------|--------------|------------------|
| ECANCELED| 158 | |
|----------|--------------|------------------|
| EUSERS | 94 | |
|----------|--------------|------------------|
| ENOTAUTH | 160 | |
|----------|--------------|------------------|
| ELKBUSY | 170 | |
|----------|--------------|------------------|
| Olivetti | 200-223 | |
|----------|--------------|------------------|
Errors on SCO OpenServer but not UnixWare 7
[If this table is unreadable, a preformatted table follows]
Mnemonic
SCO OpenServer #
UnixWare 7 #
ELBIN
75
EDOTDOT
76
--------------------------------------------
| Mnemonic | SCO OpenServer # | UnixWare 7 #|
|---------|------------------|--------------|
| ELBIN | 75 | |
|---------|------------------|--------------|
| EDOTDOT | 76 | |
|---------|------------------|--------------|
System calls with different error returns
The table below shows the errors returned for various system calls
that are different between UnixWare 7 and SCO OpenServer.
See the
``System call compatibility tables''
for each system call listed for the detailed resolution of the error
incompatibility (if you are viewing this document online, click on the
system call name in the left-most column to go to the appropriate
table).
[If this table is unreadable, a preformatted table follows]
Errors generated on one system and not the other.
System call
extra UnixWare 7 errs
extra SCO OpenServer errs
access
EFAULT, ELOOP
ETXTBSY
chdir
EIO
chroot
EACCESS, ELOOP,
ENAMETOOLONG
creat
ELOOP,ENAMETOOLONG
exec
ENOLOAD, ENOTDIR
ETXTBSY
fchdir
EIO
fcntl
EFAULT, EIO, EINVAL,
EOVERFLOW
fork
EINTR
fsync
ENOLINK
ftruncate
EAGAIN
link
ENAMETOOLONG
lseek
ENOSYS
mkdir
ENAMETOOLONG, ENOSPC
mknod
EINVAL, ELOOP,
ENAMETOOLONG
mount
EACCESS, ENOLOAD,
ELOOP, ENAMETOOLONG
msgctl(ipcmsg)
EOVERFLOW
msgsnd/msgrcv(ipcmsg)
EINTR, EIDRM
nice
EINVAL
ptrace
EINVAL, EPERM
readlink
ENOSYS
rmdir
ELOOP, ENAMETOOLONG
EINVAL
semctl(semsys)
EOVERFLOW, EFAULT
semop(semsys)
EINTR
shmctl(shmsys)
ENOSYS
shmget(shmsys)
ENOSYS
symlink
ENOSYS, EIO
EINVAL
sysacct
ELOOP, ENAMETOOLONG
umount
ELOOP, ENAMETOOLONG
unlink
EFAULT, ELOOP
ETXTBSY
utime
EFAULT, ELOOP
---------------------------------------------------------------------------
| Errors generated on one system and not the other. |
|----------------------|-----------------------|---------------------------|
| System call | extra UnixWare 7 errs | extra SCO OpenServer errs|
|----------------------|-----------------------|---------------------------|
| access | EFAULT, ELOOP | ETXTBSY |
|----------------------|-----------------------|---------------------------|
| chdir | EIO | |
|----------------------|-----------------------|---------------------------|
| chroot | EACCESS, ELOOP, | |
| | ENAMETOOLONG | |
|----------------------|-----------------------|---------------------------|
| creat | ELOOP,ENAMETOOLONG | |
|----------------------|-----------------------|---------------------------|
| exec | ENOLOAD, ENOTDIR | ETXTBSY |
|----------------------|-----------------------|---------------------------|
| fchdir | EIO | |
|----------------------|-----------------------|---------------------------|
| fcntl | EFAULT, EIO, EINVAL, | |
| | EOVERFLOW | |
|----------------------|-----------------------|---------------------------|
| fork | EINTR | |
|----------------------|-----------------------|---------------------------|
| fsync | ENOLINK | |
|----------------------|-----------------------|---------------------------|
| ftruncate | | EAGAIN |
|----------------------|-----------------------|---------------------------|
| link | ENAMETOOLONG | |
|----------------------|-----------------------|---------------------------|
| lseek | ENOSYS | |
|----------------------|-----------------------|---------------------------|
| mkdir | ENAMETOOLONG, ENOSPC | |
|----------------------|-----------------------|---------------------------|
| mknod | EINVAL, ELOOP, | |
| | ENAMETOOLONG | |
|----------------------|-----------------------|---------------------------|
| mount | EACCESS, ENOLOAD, | |
| | ELOOP, ENAMETOOLONG | |
|----------------------|-----------------------|---------------------------|
| msgctl(ipcmsg) | EOVERFLOW | |
|----------------------|-----------------------|---------------------------|
| msgsnd/msgrcv(ipcmsg)| EINTR, EIDRM | |
|----------------------|-----------------------|---------------------------|
| nice | EINVAL | |
|----------------------|-----------------------|---------------------------|
| ptrace | | EINVAL, EPERM |
|----------------------|-----------------------|---------------------------|
| readlink | ENOSYS | |
|----------------------|-----------------------|---------------------------|
| rmdir | ELOOP, ENAMETOOLONG | EINVAL |
|----------------------|-----------------------|---------------------------|
| semctl(semsys) | EOVERFLOW, EFAULT | |
|----------------------|-----------------------|---------------------------|
| semop(semsys) | EINTR | |
|----------------------|-----------------------|---------------------------|
| shmctl(shmsys) | | ENOSYS |
|----------------------|-----------------------|---------------------------|
| shmget(shmsys) | | ENOSYS |
|----------------------|-----------------------|---------------------------|
| symlink | ENOSYS, EIO | EINVAL |
|----------------------|-----------------------|---------------------------|
| sysacct | ELOOP, ENAMETOOLONG | |
|----------------------|-----------------------|---------------------------|
| umount | ELOOP, ENAMETOOLONG | |
|----------------------|-----------------------|---------------------------|
| unlink | EFAULT, ELOOP | ETXTBSY |
|----------------------|-----------------------|---------------------------|
| utime | EFAULT, ELOOP | |
|----------------------|-----------------------|---------------------------|
Next topic:
Signals
Previous topic:
Executable formats
© 1999 The Santa Cruz Operation, Inc. All rights reserved.
UnixWare 7 Release 7.1 - 19 March 1999