Retire EBADIOCTL in favor of ENOTTY
Change-Id: I6bd0e301d21ab7f2336e350e7e6e15d238c2c93d
This commit is contained in:
parent
4628a14fc7
commit
b443e9244d
17 changed files with 39 additions and 39 deletions
|
@ -33,11 +33,11 @@ int accept(int sock, struct sockaddr *__restrict address,
|
||||||
nwio_udpopt_t udpopt;
|
nwio_udpopt_t udpopt;
|
||||||
|
|
||||||
r= _tcp_accept(sock, address, address_len);
|
r= _tcp_accept(sock, address, address_len);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r= _uds_accept(sock, address, address_len);
|
r= _uds_accept(sock, address, address_len);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
/* Unfortunately, we have to return EOPNOTSUPP for a socket that
|
/* Unfortunately, we have to return EOPNOTSUPP for a socket that
|
||||||
|
@ -51,7 +51,7 @@ int accept(int sock, struct sockaddr *__restrict address,
|
||||||
errno= EOPNOTSUPP;
|
errno= EOPNOTSUPP;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if ((errno == ENOTTY || errno == EBADIOCTL))
|
if (errno == ENOTTY)
|
||||||
{
|
{
|
||||||
errno= ENOTSOCK;
|
errno= ENOTSOCK;
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -45,7 +45,7 @@ int bind(int sock, const struct sockaddr *address, socklen_t address_len)
|
||||||
struct sockaddr_un uds_addr;
|
struct sockaddr_un uds_addr;
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGTCPCONF, &tcpconf);
|
r= ioctl(sock, NWIOGTCPCONF, &tcpconf);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
return r;
|
return r;
|
||||||
|
@ -63,7 +63,7 @@ int bind(int sock, const struct sockaddr *address, socklen_t address_len)
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDPOPT, &udpopt);
|
r= ioctl(sock, NWIOGUDPOPT, &udpopt);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
return r;
|
return r;
|
||||||
|
@ -71,7 +71,7 @@ int bind(int sock, const struct sockaddr *address, socklen_t address_len)
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDSADDR, &uds_addr);
|
r= ioctl(sock, NWIOGUDSADDR, &uds_addr);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
return r;
|
return r;
|
||||||
|
|
|
@ -39,7 +39,7 @@ int connect(int sock, const struct sockaddr *address,
|
||||||
nwio_udpopt_t udpopt;
|
nwio_udpopt_t udpopt;
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGTCPCONF, &tcpconf);
|
r= ioctl(sock, NWIOGTCPCONF, &tcpconf);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
@ -50,7 +50,7 @@ int connect(int sock, const struct sockaddr *address,
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDPOPT, &udpopt);
|
r= ioctl(sock, NWIOGUDPOPT, &udpopt);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
@ -61,9 +61,7 @@ int connect(int sock, const struct sockaddr *address,
|
||||||
}
|
}
|
||||||
|
|
||||||
r= _uds_connect(sock, address, address_len);
|
r= _uds_connect(sock, address, address_len);
|
||||||
if (r != -1 ||
|
if (r != -1 || (errno != ENOTTY && errno != EAFNOSUPPORT))
|
||||||
(errno != ENOTTY && errno != EBADIOCTL &&
|
|
||||||
errno != EAFNOSUPPORT))
|
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -35,7 +35,7 @@ int getpeername(int sock, struct sockaddr *__restrict address,
|
||||||
struct sockaddr_un uds_addr;
|
struct sockaddr_un uds_addr;
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGTCPCONF, &tcpconf);
|
r= ioctl(sock, NWIOGTCPCONF, &tcpconf);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
@ -47,7 +47,7 @@ int getpeername(int sock, struct sockaddr *__restrict address,
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDPOPT, &udpopt);
|
r= ioctl(sock, NWIOGUDPOPT, &udpopt);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
@ -59,7 +59,7 @@ int getpeername(int sock, struct sockaddr *__restrict address,
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDSPADDR, &uds_addr);
|
r= ioctl(sock, NWIOGUDSPADDR, &uds_addr);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -48,7 +48,7 @@ int getsockname(int fd, struct sockaddr *__restrict address,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
r= ioctl(fd, NWIOGTCPCONF, &tcpconf);
|
r= ioctl(fd, NWIOGTCPCONF, &tcpconf);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
@ -60,7 +60,7 @@ int getsockname(int fd, struct sockaddr *__restrict address,
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(fd, NWIOGUDPOPT, &udpopt);
|
r= ioctl(fd, NWIOGUDPOPT, &udpopt);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
@ -72,7 +72,7 @@ int getsockname(int fd, struct sockaddr *__restrict address,
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(fd, NWIOGUDSADDR, &uds_addr);
|
r= ioctl(fd, NWIOGUDSADDR, &uds_addr);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -39,7 +39,7 @@ int getsockopt(int sock, int level, int option_name,
|
||||||
struct sockaddr_un uds_addr;
|
struct sockaddr_un uds_addr;
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGTCPOPT, &tcpopt);
|
r= ioctl(sock, NWIOGTCPOPT, &tcpopt);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
@ -51,7 +51,7 @@ int getsockopt(int sock, int level, int option_name,
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDPOPT, &udpopt);
|
r= ioctl(sock, NWIOGUDPOPT, &udpopt);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
@ -63,7 +63,7 @@ int getsockopt(int sock, int level, int option_name,
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDSADDR, &uds_addr);
|
r= ioctl(sock, NWIOGUDSADDR, &uds_addr);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -21,11 +21,11 @@ int listen(int sock, int backlog)
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
r= ioctl(sock, NWIOTCPLISTENQ, &backlog);
|
r= ioctl(sock, NWIOTCPLISTENQ, &backlog);
|
||||||
if (r != -1 || errno != EBADIOCTL)
|
if (r != -1 || errno != ENOTTY)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
r= ioctl(sock, NWIOSUDSBLOG, &backlog);
|
r= ioctl(sock, NWIOSUDSBLOG, &backlog);
|
||||||
if (r != -1 || errno != EBADIOCTL)
|
if (r != -1 || errno != ENOTTY)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
|
|
|
@ -50,7 +50,7 @@ ssize_t recvfrom(int sock, void *__restrict buffer, size_t length,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGTCPCONF, &tcpconf);
|
r= ioctl(sock, NWIOGTCPCONF, &tcpconf);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
return r;
|
return r;
|
||||||
|
@ -59,7 +59,7 @@ ssize_t recvfrom(int sock, void *__restrict buffer, size_t length,
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDPOPT, &udpopt);
|
r= ioctl(sock, NWIOGUDPOPT, &udpopt);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
return r;
|
return r;
|
||||||
|
@ -68,7 +68,7 @@ ssize_t recvfrom(int sock, void *__restrict buffer, size_t length,
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDSSOTYPE, &uds_sotype);
|
r= ioctl(sock, NWIOGUDSSOTYPE, &uds_sotype);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (r == -1) {
|
if (r == -1) {
|
||||||
|
|
|
@ -26,7 +26,7 @@ ssize_t recvmsg(int sock, struct msghdr *msg, int flags)
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDSSOTYPE, &uds_sotype);
|
r= ioctl(sock, NWIOGUDSSOTYPE, &uds_sotype);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL)) {
|
if (r != -1 || errno != ENOTTY) {
|
||||||
if (r == -1) {
|
if (r == -1) {
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ ssize_t sendmsg(int sock, const struct msghdr *msg, int flags)
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDSSOTYPE, &uds_sotype);
|
r= ioctl(sock, NWIOGUDSSOTYPE, &uds_sotype);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL)) {
|
if (r != -1 || errno != ENOTTY) {
|
||||||
if (r == -1) {
|
if (r == -1) {
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,7 @@ ssize_t sendto(int sock, const void *message, size_t length, int flags,
|
||||||
int uds_sotype = -1;
|
int uds_sotype = -1;
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGTCPOPT, &tcpopt);
|
r= ioctl(sock, NWIOGTCPOPT, &tcpopt);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
return r;
|
return r;
|
||||||
|
@ -50,7 +50,7 @@ ssize_t sendto(int sock, const void *message, size_t length, int flags,
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDPOPT, &udpopt);
|
r= ioctl(sock, NWIOGUDPOPT, &udpopt);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
return r;
|
return r;
|
||||||
|
@ -59,7 +59,7 @@ ssize_t sendto(int sock, const void *message, size_t length, int flags,
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDSSOTYPE, &uds_sotype);
|
r= ioctl(sock, NWIOGUDSSOTYPE, &uds_sotype);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1) {
|
if (r == -1) {
|
||||||
return r;
|
return r;
|
||||||
|
|
|
@ -35,7 +35,7 @@ int setsockopt(int sock, int level, int option_name,
|
||||||
struct sockaddr_un uds_addr;
|
struct sockaddr_un uds_addr;
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGTCPOPT, &tcpopt);
|
r= ioctl(sock, NWIOGTCPOPT, &tcpopt);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
@ -47,7 +47,7 @@ int setsockopt(int sock, int level, int option_name,
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDPOPT, &udpopt);
|
r= ioctl(sock, NWIOGUDPOPT, &udpopt);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
@ -59,7 +59,7 @@ int setsockopt(int sock, int level, int option_name,
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDSADDR, &uds_addr);
|
r= ioctl(sock, NWIOGUDSADDR, &uds_addr);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -27,7 +27,7 @@ int shutdown(int sock, int how)
|
||||||
nwio_tcpconf_t tcpconf;
|
nwio_tcpconf_t tcpconf;
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGTCPCONF, &tcpconf);
|
r= ioctl(sock, NWIOGTCPCONF, &tcpconf);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
@ -38,7 +38,7 @@ int shutdown(int sock, int how)
|
||||||
}
|
}
|
||||||
|
|
||||||
r= ioctl(sock, NWIOGUDSADDR, &uds_addr);
|
r= ioctl(sock, NWIOGUDSADDR, &uds_addr);
|
||||||
if (r != -1 || (errno != ENOTTY && errno != EBADIOCTL))
|
if (r != -1 || errno != ENOTTY)
|
||||||
{
|
{
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -266,7 +266,6 @@ caller-provided space.
|
||||||
.It Er 51 ENOBUFS Em "\&No buffer space available" .
|
.It Er 51 ENOBUFS Em "\&No buffer space available" .
|
||||||
An operation on a socket or pipe was not performed because
|
An operation on a socket or pipe was not performed because
|
||||||
the system lacked sufficient buffer space or because a queue was full.
|
the system lacked sufficient buffer space or because a queue was full.
|
||||||
.It Er 52 EBADIOCTL Em "Illegal ioctl for device" .
|
|
||||||
.It Er 53 EBADMODE Em "Bad mode in ioctl" .
|
.It Er 53 EBADMODE Em "Bad mode in ioctl" .
|
||||||
.It Er 54 EWOULDBLOCK Em "Would block" .
|
.It Er 54 EWOULDBLOCK Em "Would block" .
|
||||||
.It Er 55 ENETUNREACH Em "Network is unreachable" .
|
.It Er 55 ENETUNREACH Em "Network is unreachable" .
|
||||||
|
|
|
@ -1420,7 +1420,7 @@ This indicates an attempt to read or write with a buffer that is too
|
||||||
large or too small.
|
large or too small.
|
||||||
.IP ENOBUFS
|
.IP ENOBUFS
|
||||||
The TCP/IP server has insufficient memory to execute the request.
|
The TCP/IP server has insufficient memory to execute the request.
|
||||||
.IP EBADIOCTL
|
.IP ENOTTY
|
||||||
This indicates an attempt to execute a command the particular server
|
This indicates an attempt to execute a command the particular server
|
||||||
does not understand.
|
does not understand.
|
||||||
For example, a
|
For example, a
|
||||||
|
|
|
@ -79,7 +79,6 @@
|
||||||
/* The following errors relate to networking. */
|
/* The following errors relate to networking. */
|
||||||
#define EPACKSIZE (_SIGN 50 ) /* invalid packet size for some protocol */
|
#define EPACKSIZE (_SIGN 50 ) /* invalid packet size for some protocol */
|
||||||
#define ENOBUFS (_SIGN 51 ) /* not enough buffers left */
|
#define ENOBUFS (_SIGN 51 ) /* not enough buffers left */
|
||||||
#define EBADIOCTL (_SIGN 52 ) /* illegal ioctl for device */
|
|
||||||
#define EBADMODE (_SIGN 53 ) /* badmode in ioctl */
|
#define EBADMODE (_SIGN 53 ) /* badmode in ioctl */
|
||||||
#define EWOULDBLOCK (_SIGN 54 ) /* call would block on nonblocking socket */
|
#define EWOULDBLOCK (_SIGN 54 ) /* call would block on nonblocking socket */
|
||||||
#define ENETUNREACH (_SIGN 55 ) /* network unreachable */
|
#define ENETUNREACH (_SIGN 55 ) /* network unreachable */
|
||||||
|
|
|
@ -599,7 +599,11 @@ void test_listen(void)
|
||||||
|
|
||||||
errno = 0;
|
errno = 0;
|
||||||
rc = listen(0, 0);
|
rc = listen(0, 0);
|
||||||
if (!(rc == -1 && errno == ENOTTY)) {
|
/* Test on errno disabled here: there's currently no telling what this
|
||||||
|
* will return. POSIX says it should be ENOTSOCK, MINIX3 libc returns
|
||||||
|
* ENOSYS, and we used to test for ENOTTY here..
|
||||||
|
*/
|
||||||
|
if (!(rc == -1)) {
|
||||||
test_fail("listen(0, 0) should have failed");
|
test_fail("listen(0, 0) should have failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue