summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/kern/sys_socket.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-01-16 14:44:03 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2014-01-16 15:45:00 +0100
commitb6c319bb7d11a8a84f31f9cf7ff13f78302196e7 (patch)
tree4f5ff3878df2f2029e50c497480e64c0bd3c6dee /freebsd/sys/kern/sys_socket.c
parentFix install Makefile target (diff)
downloadrtems-libbsd-b6c319bb7d11a8a84f31f9cf7ff13f78302196e7.tar.bz2
socketops: Return ENXIO for open() on sockets
Diffstat (limited to 'freebsd/sys/kern/sys_socket.c')
-rw-r--r--freebsd/sys/kern/sys_socket.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/freebsd/sys/kern/sys_socket.c b/freebsd/sys/kern/sys_socket.c
index 3508f94f..babbcd2c 100644
--- a/freebsd/sys/kern/sys_socket.c
+++ b/freebsd/sys/kern/sys_socket.c
@@ -462,6 +462,13 @@ soo_close(struct file *fp, struct thread *td)
}
#ifdef __rtems__
static int
+rtems_bsd_soo_open(rtems_libio_t *iop, const char *path, int oflag,
+ mode_t mode)
+{
+ return rtems_bsd_error_to_status_and_errno(ENXIO);
+}
+
+static int
rtems_bsd_soo_close(rtems_libio_t *iop)
{
struct file *fp = rtems_bsd_iop_to_fp(iop);
@@ -486,7 +493,7 @@ rtems_bsd_soo_fcntl(rtems_libio_t *iop, int cmd)
}
const rtems_filesystem_file_handlers_r socketops = {
- .open_h = rtems_filesystem_default_open,
+ .open_h = rtems_bsd_soo_open,
.close_h = rtems_bsd_soo_close,
.read_h = rtems_bsd_soo_read,
.write_h = rtems_bsd_soo_write,