[Xenomai-git] Gilles Chanteperdrix : drivers/ipc: adapt BUFP after RTDM changes
Module: xenomai-forge Branch: master Commit: 53d61be0b6566e9981107b9327042c6f1056cbd2 URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=53d61be0b6566e9981107b9327042c6f1056cbd2 Author: Gilles Chanteperdrix Date: Tue Feb 4 21:43:40 2014 +0100 drivers/ipc: adapt BUFP after RTDM changes --- kernel/drivers/ipc/bufp.c | 116 - 1 file changed, 61 insertions(+), 55 deletions(-) diff --git a/kernel/drivers/ipc/bufp.c b/kernel/drivers/ipc/bufp.c index 99e1a1e..3216aef 100644 --- a/kernel/drivers/ipc/bufp.c +++ b/kernel/drivers/ipc/bufp.c @@ -105,7 +105,7 @@ static struct xnpnode_link __bufp_pnode = { #endif /* !CONFIG_XENO_OPT_VFILE */ static int bufp_socket(struct rtipc_private *priv, - rtdm_user_info_t *user_info) + struct rtdm_fd *context) { struct bufp_socket *sk = priv->state; @@ -131,16 +131,21 @@ static int bufp_socket(struct rtipc_private *priv, return 0; } -static int bufp_close(struct rtipc_private *priv, - rtdm_user_info_t *user_info) +static void bufp_close(struct rtipc_private *priv, + struct rtdm_fd *context) { struct bufp_socket *sk = priv->state; rtdm_event_destroy(&sk->i_event); rtdm_event_destroy(&sk->o_event); - if (sk->name.sipc_port > -1) + if (sk->name.sipc_port > -1) { + spl_t s; + + cobalt_atomic_enter(s); xnmap_remove(portmap, sk->name.sipc_port); + cobalt_atomic_leave(s); + } if (sk->handle) xnregistry_remove(sk->handle); @@ -149,8 +154,6 @@ static int bufp_close(struct rtipc_private *priv, free_pages_exact(sk->bufmem, sk->bufsz); kfree(sk); - - return 0; } static ssize_t __bufp_readbuf(struct bufp_socket *sk, @@ -282,7 +285,7 @@ out: } static ssize_t __bufp_recvmsg(struct rtipc_private *priv, - rtdm_user_info_t *user_info, + struct rtdm_fd *context, struct iovec *iov, int iovlen, int flags, struct sockaddr_ipc *saddr) { @@ -313,7 +316,7 @@ static ssize_t __bufp_recvmsg(struct rtipc_private *priv, if (iov[nvec].iov_len == 0) continue; vlen = wrlen >= iov[nvec].iov_len ? iov[nvec].iov_len : wrlen; - if (user_info) { + if (rtdm_context_user_p(context)) { xnbufd_map_uread(&bufd, iov[nvec].iov_base, vlen); ret = __bufp_readbuf(sk, &bufd, flags); xnbufd_unmap_uread(&bufd); @@ -344,7 +347,7 @@ static ssize_t __bufp_recvmsg(struct rtipc_private *priv, } static ssize_t bufp_recvmsg(struct rtipc_private *priv, - rtdm_user_info_t *user_info, + struct rtdm_fd *context, struct msghdr *msg, int flags) { struct iovec iov[RTIPC_IOV_MAX]; @@ -364,23 +367,23 @@ static ssize_t bufp_recvmsg(struct rtipc_private *priv, return -EINVAL; /* Copy I/O vector in */ - if (rtipc_get_arg(user_info, iov, msg->msg_iov, + if (rtipc_get_arg(context, iov, msg->msg_iov, sizeof(iov[0]) * msg->msg_iovlen)) return -EFAULT; - ret = __bufp_recvmsg(priv, user_info, + ret = __bufp_recvmsg(priv, context, iov, msg->msg_iovlen, flags, &saddr); if (ret <= 0) return ret; /* Copy the updated I/O vector back */ - if (rtipc_put_arg(user_info, msg->msg_iov, iov, + if (rtipc_put_arg(context, msg->msg_iov, iov, sizeof(iov[0]) * msg->msg_iovlen)) return -EFAULT; /* Copy the source address if required. */ if (msg->msg_name) { - if (rtipc_put_arg(user_info, msg->msg_name, + if (rtipc_put_arg(context, msg->msg_name, &saddr, sizeof(saddr))) return -EFAULT; msg->msg_namelen = sizeof(struct sockaddr_ipc); @@ -390,11 +393,11 @@ static ssize_t bufp_recvmsg(struct rtipc_private *priv, } static ssize_t bufp_read(struct rtipc_private *priv, -rtdm_user_info_t *user_info, +struct rtdm_fd *context, void *buf, size_t len) { struct iovec iov = { .iov_base = buf, .iov_len = len }; - return __bufp_recvmsg(priv, user_info, &iov, 1, 0, NULL); + return __bufp_recvmsg(priv, context, &iov, 1, 0, NULL); } static ssize_t __bufp_writebuf(struct bufp_socket *rsk, @@ -514,26 +517,26 @@ out: } static ssize_t __bufp_sendmsg(struct rtipc_private *priv, - rtdm_user_info_t *user_info, + struct rtd
[Xenomai-git] Gilles Chanteperdrix : drivers/ipc: adapt BUFP after RTDM changes
Module: xenomai-forge Branch: next Commit: 53d61be0b6566e9981107b9327042c6f1056cbd2 URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=53d61be0b6566e9981107b9327042c6f1056cbd2 Author: Gilles Chanteperdrix Date: Tue Feb 4 21:43:40 2014 +0100 drivers/ipc: adapt BUFP after RTDM changes --- kernel/drivers/ipc/bufp.c | 116 - 1 file changed, 61 insertions(+), 55 deletions(-) diff --git a/kernel/drivers/ipc/bufp.c b/kernel/drivers/ipc/bufp.c index 99e1a1e..3216aef 100644 --- a/kernel/drivers/ipc/bufp.c +++ b/kernel/drivers/ipc/bufp.c @@ -105,7 +105,7 @@ static struct xnpnode_link __bufp_pnode = { #endif /* !CONFIG_XENO_OPT_VFILE */ static int bufp_socket(struct rtipc_private *priv, - rtdm_user_info_t *user_info) + struct rtdm_fd *context) { struct bufp_socket *sk = priv->state; @@ -131,16 +131,21 @@ static int bufp_socket(struct rtipc_private *priv, return 0; } -static int bufp_close(struct rtipc_private *priv, - rtdm_user_info_t *user_info) +static void bufp_close(struct rtipc_private *priv, + struct rtdm_fd *context) { struct bufp_socket *sk = priv->state; rtdm_event_destroy(&sk->i_event); rtdm_event_destroy(&sk->o_event); - if (sk->name.sipc_port > -1) + if (sk->name.sipc_port > -1) { + spl_t s; + + cobalt_atomic_enter(s); xnmap_remove(portmap, sk->name.sipc_port); + cobalt_atomic_leave(s); + } if (sk->handle) xnregistry_remove(sk->handle); @@ -149,8 +154,6 @@ static int bufp_close(struct rtipc_private *priv, free_pages_exact(sk->bufmem, sk->bufsz); kfree(sk); - - return 0; } static ssize_t __bufp_readbuf(struct bufp_socket *sk, @@ -282,7 +285,7 @@ out: } static ssize_t __bufp_recvmsg(struct rtipc_private *priv, - rtdm_user_info_t *user_info, + struct rtdm_fd *context, struct iovec *iov, int iovlen, int flags, struct sockaddr_ipc *saddr) { @@ -313,7 +316,7 @@ static ssize_t __bufp_recvmsg(struct rtipc_private *priv, if (iov[nvec].iov_len == 0) continue; vlen = wrlen >= iov[nvec].iov_len ? iov[nvec].iov_len : wrlen; - if (user_info) { + if (rtdm_context_user_p(context)) { xnbufd_map_uread(&bufd, iov[nvec].iov_base, vlen); ret = __bufp_readbuf(sk, &bufd, flags); xnbufd_unmap_uread(&bufd); @@ -344,7 +347,7 @@ static ssize_t __bufp_recvmsg(struct rtipc_private *priv, } static ssize_t bufp_recvmsg(struct rtipc_private *priv, - rtdm_user_info_t *user_info, + struct rtdm_fd *context, struct msghdr *msg, int flags) { struct iovec iov[RTIPC_IOV_MAX]; @@ -364,23 +367,23 @@ static ssize_t bufp_recvmsg(struct rtipc_private *priv, return -EINVAL; /* Copy I/O vector in */ - if (rtipc_get_arg(user_info, iov, msg->msg_iov, + if (rtipc_get_arg(context, iov, msg->msg_iov, sizeof(iov[0]) * msg->msg_iovlen)) return -EFAULT; - ret = __bufp_recvmsg(priv, user_info, + ret = __bufp_recvmsg(priv, context, iov, msg->msg_iovlen, flags, &saddr); if (ret <= 0) return ret; /* Copy the updated I/O vector back */ - if (rtipc_put_arg(user_info, msg->msg_iov, iov, + if (rtipc_put_arg(context, msg->msg_iov, iov, sizeof(iov[0]) * msg->msg_iovlen)) return -EFAULT; /* Copy the source address if required. */ if (msg->msg_name) { - if (rtipc_put_arg(user_info, msg->msg_name, + if (rtipc_put_arg(context, msg->msg_name, &saddr, sizeof(saddr))) return -EFAULT; msg->msg_namelen = sizeof(struct sockaddr_ipc); @@ -390,11 +393,11 @@ static ssize_t bufp_recvmsg(struct rtipc_private *priv, } static ssize_t bufp_read(struct rtipc_private *priv, -rtdm_user_info_t *user_info, +struct rtdm_fd *context, void *buf, size_t len) { struct iovec iov = { .iov_base = buf, .iov_len = len }; - return __bufp_recvmsg(priv, user_info, &iov, 1, 0, NULL); + return __bufp_recvmsg(priv, context, &iov, 1, 0, NULL); } static ssize_t __bufp_writebuf(struct bufp_socket *rsk, @@ -514,26 +517,26 @@ out: } static ssize_t __bufp_sendmsg(struct rtipc_private *priv, - rtdm_user_info_t *user_info, + struct rtdm_
[Xenomai-git] Gilles Chanteperdrix : drivers/ipc: adapt BUFP after RTDM changes
Module: xenomai-gch Branch: for-forge-rtdm-rework Commit: 2ddfb2e68877c7790dc575e7ec5d12cfbb003cb1 URL: http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=2ddfb2e68877c7790dc575e7ec5d12cfbb003cb1 Author: Gilles Chanteperdrix Date: Tue Feb 4 21:43:40 2014 +0100 drivers/ipc: adapt BUFP after RTDM changes --- kernel/drivers/ipc/bufp.c | 116 - 1 file changed, 61 insertions(+), 55 deletions(-) diff --git a/kernel/drivers/ipc/bufp.c b/kernel/drivers/ipc/bufp.c index 2e80bc4..cfc11e8 100644 --- a/kernel/drivers/ipc/bufp.c +++ b/kernel/drivers/ipc/bufp.c @@ -105,7 +105,7 @@ static struct xnpnode_link __bufp_pnode = { #endif /* !CONFIG_XENO_OPT_VFILE */ static int bufp_socket(struct rtipc_private *priv, - rtdm_user_info_t *user_info) + struct rtdm_fd *context) { struct bufp_socket *sk = priv->state; @@ -131,16 +131,21 @@ static int bufp_socket(struct rtipc_private *priv, return 0; } -static int bufp_close(struct rtipc_private *priv, - rtdm_user_info_t *user_info) +static void bufp_close(struct rtipc_private *priv, + struct rtdm_fd *context) { struct bufp_socket *sk = priv->state; rtdm_event_destroy(&sk->i_event); rtdm_event_destroy(&sk->o_event); - if (sk->name.sipc_port > -1) + if (sk->name.sipc_port > -1) { + spl_t s; + + cobalt_atomic_enter(s); xnmap_remove(portmap, sk->name.sipc_port); + cobalt_atomic_leave(s); + } if (sk->handle) xnregistry_remove(sk->handle); @@ -149,8 +154,6 @@ static int bufp_close(struct rtipc_private *priv, free_pages_exact(sk->bufmem, sk->bufsz); kfree(sk); - - return 0; } static ssize_t __bufp_readbuf(struct bufp_socket *sk, @@ -282,7 +285,7 @@ out: } static ssize_t __bufp_recvmsg(struct rtipc_private *priv, - rtdm_user_info_t *user_info, + struct rtdm_fd *context, struct iovec *iov, int iovlen, int flags, struct sockaddr_ipc *saddr) { @@ -313,7 +316,7 @@ static ssize_t __bufp_recvmsg(struct rtipc_private *priv, if (iov[nvec].iov_len == 0) continue; vlen = wrlen >= iov[nvec].iov_len ? iov[nvec].iov_len : wrlen; - if (user_info) { + if (rtdm_context_user_p(context)) { xnbufd_map_uread(&bufd, iov[nvec].iov_base, vlen); ret = __bufp_readbuf(sk, &bufd, flags); xnbufd_unmap_uread(&bufd); @@ -344,7 +347,7 @@ static ssize_t __bufp_recvmsg(struct rtipc_private *priv, } static ssize_t bufp_recvmsg(struct rtipc_private *priv, - rtdm_user_info_t *user_info, + struct rtdm_fd *context, struct msghdr *msg, int flags) { struct iovec iov[RTIPC_IOV_MAX]; @@ -364,23 +367,23 @@ static ssize_t bufp_recvmsg(struct rtipc_private *priv, return -EINVAL; /* Copy I/O vector in */ - if (rtipc_get_arg(user_info, iov, msg->msg_iov, + if (rtipc_get_arg(context, iov, msg->msg_iov, sizeof(iov[0]) * msg->msg_iovlen)) return -EFAULT; - ret = __bufp_recvmsg(priv, user_info, + ret = __bufp_recvmsg(priv, context, iov, msg->msg_iovlen, flags, &saddr); if (ret <= 0) return ret; /* Copy the updated I/O vector back */ - if (rtipc_put_arg(user_info, msg->msg_iov, iov, + if (rtipc_put_arg(context, msg->msg_iov, iov, sizeof(iov[0]) * msg->msg_iovlen)) return -EFAULT; /* Copy the source address if required. */ if (msg->msg_name) { - if (rtipc_put_arg(user_info, msg->msg_name, + if (rtipc_put_arg(context, msg->msg_name, &saddr, sizeof(saddr))) return -EFAULT; msg->msg_namelen = sizeof(struct sockaddr_ipc); @@ -390,11 +393,11 @@ static ssize_t bufp_recvmsg(struct rtipc_private *priv, } static ssize_t bufp_read(struct rtipc_private *priv, -rtdm_user_info_t *user_info, +struct rtdm_fd *context, void *buf, size_t len) { struct iovec iov = { .iov_base = buf, .iov_len = len }; - return __bufp_recvmsg(priv, user_info, &iov, 1, 0, NULL); + return __bufp_recvmsg(priv, context, &iov, 1, 0, NULL); } static ssize_t __bufp_writebuf(struct bufp_socket *rsk, @@ -514,26 +517,26 @@ out: } static ssize_t __bufp_sendmsg(struct rtipc_private *priv, - rtdm_user_info_t *user_info, +
[Xenomai-git] Gilles Chanteperdrix : drivers/ipc: adapt BUFP after RTDM changes
Module: xenomai-gch Branch: for-forge Commit: 6824bfbe2a1e4d46d82aeb5cc3f95512067b66bd URL: http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=6824bfbe2a1e4d46d82aeb5cc3f95512067b66bd Author: Gilles Chanteperdrix Date: Tue Feb 4 21:43:40 2014 +0100 drivers/ipc: adapt BUFP after RTDM changes --- kernel/drivers/ipc/bufp.c | 114 +++-- 1 file changed, 58 insertions(+), 56 deletions(-) diff --git a/kernel/drivers/ipc/bufp.c b/kernel/drivers/ipc/bufp.c index 233d86a..b3cfcc4 100644 --- a/kernel/drivers/ipc/bufp.c +++ b/kernel/drivers/ipc/bufp.c @@ -113,7 +113,7 @@ static struct xnpnode_link __bufp_pnode = { #endif /* !CONFIG_XENO_OPT_VFILE */ static int bufp_socket(struct rtipc_private *priv, - rtdm_user_info_t *user_info) + struct xnfd *context) { struct bufp_socket *sk = priv->state; @@ -139,8 +139,8 @@ static int bufp_socket(struct rtipc_private *priv, return 0; } -static int bufp_close(struct rtipc_private *priv, - rtdm_user_info_t *user_info) +static void bufp_close(struct rtipc_private *priv, + struct xnfd *context) { struct bufp_socket *sk = priv->state; @@ -148,7 +148,9 @@ static int bufp_close(struct rtipc_private *priv, rtdm_event_destroy(&sk->o_event); if (sk->name.sipc_port > -1) - xnmap_remove(portmap, sk->name.sipc_port); + RTDM_EXECUTE_ATOMICALLY( + xnmap_remove(portmap, sk->name.sipc_port); + ); if (sk->handle) xnregistry_remove(sk->handle); @@ -157,8 +159,6 @@ static int bufp_close(struct rtipc_private *priv, free_pages_exact(sk->bufmem, sk->bufsz); kfree(sk); - - return 0; } static ssize_t __bufp_readbuf(struct bufp_socket *sk, @@ -290,7 +290,7 @@ out: } static ssize_t __bufp_recvmsg(struct rtipc_private *priv, - rtdm_user_info_t *user_info, + struct xnfd *context, struct iovec *iov, int iovlen, int flags, struct sockaddr_ipc *saddr) { @@ -321,7 +321,7 @@ static ssize_t __bufp_recvmsg(struct rtipc_private *priv, if (iov[nvec].iov_len == 0) continue; vlen = wrlen >= iov[nvec].iov_len ? iov[nvec].iov_len : wrlen; - if (user_info) { + if (rtdm_context_user_p(context)) { xnbufd_map_uread(&bufd, iov[nvec].iov_base, vlen); ret = __bufp_readbuf(sk, &bufd, flags); xnbufd_unmap_uread(&bufd); @@ -352,7 +352,7 @@ static ssize_t __bufp_recvmsg(struct rtipc_private *priv, } static ssize_t bufp_recvmsg(struct rtipc_private *priv, - rtdm_user_info_t *user_info, + struct xnfd *context, struct msghdr *msg, int flags) { struct iovec iov[RTIPC_IOV_MAX]; @@ -372,23 +372,23 @@ static ssize_t bufp_recvmsg(struct rtipc_private *priv, return -EINVAL; /* Copy I/O vector in */ - if (rtipc_get_arg(user_info, iov, msg->msg_iov, + if (rtipc_get_arg(context, iov, msg->msg_iov, sizeof(iov[0]) * msg->msg_iovlen)) return -EFAULT; - ret = __bufp_recvmsg(priv, user_info, + ret = __bufp_recvmsg(priv, context, iov, msg->msg_iovlen, flags, &saddr); if (ret <= 0) return ret; /* Copy the updated I/O vector back */ - if (rtipc_put_arg(user_info, msg->msg_iov, iov, + if (rtipc_put_arg(context, msg->msg_iov, iov, sizeof(iov[0]) * msg->msg_iovlen)) return -EFAULT; /* Copy the source address if required. */ if (msg->msg_name) { - if (rtipc_put_arg(user_info, msg->msg_name, + if (rtipc_put_arg(context, msg->msg_name, &saddr, sizeof(saddr))) return -EFAULT; msg->msg_namelen = sizeof(struct sockaddr_ipc); @@ -398,11 +398,11 @@ static ssize_t bufp_recvmsg(struct rtipc_private *priv, } static ssize_t bufp_read(struct rtipc_private *priv, -rtdm_user_info_t *user_info, +struct xnfd *context, void *buf, size_t len) { struct iovec iov = { .iov_base = buf, .iov_len = len }; - return __bufp_recvmsg(priv, user_info, &iov, 1, 0, NULL); + return __bufp_recvmsg(priv, context, &iov, 1, 0, NULL); } static ssize_t __bufp_writebuf(struct bufp_socket *rsk, @@ -522,26 +522,25 @@ out: } static ssize_t __bufp_sendmsg(struct rtipc_private *priv, - rtdm_user_info_t *user_info, + struct xnfd *context,
[Xenomai-git] Gilles Chanteperdrix : drivers/ipc: adapt BUFP after RTDM changes
Module: xenomai-gch Branch: for-forge Commit: dc5822c60b1c7f48239791acaef86a1aa5046af9 URL: http://git.xenomai.org/?p=xenomai-gch.git;a=commit;h=dc5822c60b1c7f48239791acaef86a1aa5046af9 Author: Gilles Chanteperdrix Date: Tue Feb 4 21:43:40 2014 +0100 drivers/ipc: adapt BUFP after RTDM changes --- kernel/drivers/ipc/bufp.c | 114 +++-- 1 file changed, 58 insertions(+), 56 deletions(-) diff --git a/kernel/drivers/ipc/bufp.c b/kernel/drivers/ipc/bufp.c index 233d86a..b3cfcc4 100644 --- a/kernel/drivers/ipc/bufp.c +++ b/kernel/drivers/ipc/bufp.c @@ -113,7 +113,7 @@ static struct xnpnode_link __bufp_pnode = { #endif /* !CONFIG_XENO_OPT_VFILE */ static int bufp_socket(struct rtipc_private *priv, - rtdm_user_info_t *user_info) + struct xnfd *context) { struct bufp_socket *sk = priv->state; @@ -139,8 +139,8 @@ static int bufp_socket(struct rtipc_private *priv, return 0; } -static int bufp_close(struct rtipc_private *priv, - rtdm_user_info_t *user_info) +static void bufp_close(struct rtipc_private *priv, + struct xnfd *context) { struct bufp_socket *sk = priv->state; @@ -148,7 +148,9 @@ static int bufp_close(struct rtipc_private *priv, rtdm_event_destroy(&sk->o_event); if (sk->name.sipc_port > -1) - xnmap_remove(portmap, sk->name.sipc_port); + RTDM_EXECUTE_ATOMICALLY( + xnmap_remove(portmap, sk->name.sipc_port); + ); if (sk->handle) xnregistry_remove(sk->handle); @@ -157,8 +159,6 @@ static int bufp_close(struct rtipc_private *priv, free_pages_exact(sk->bufmem, sk->bufsz); kfree(sk); - - return 0; } static ssize_t __bufp_readbuf(struct bufp_socket *sk, @@ -290,7 +290,7 @@ out: } static ssize_t __bufp_recvmsg(struct rtipc_private *priv, - rtdm_user_info_t *user_info, + struct xnfd *context, struct iovec *iov, int iovlen, int flags, struct sockaddr_ipc *saddr) { @@ -321,7 +321,7 @@ static ssize_t __bufp_recvmsg(struct rtipc_private *priv, if (iov[nvec].iov_len == 0) continue; vlen = wrlen >= iov[nvec].iov_len ? iov[nvec].iov_len : wrlen; - if (user_info) { + if (rtdm_context_user_p(context)) { xnbufd_map_uread(&bufd, iov[nvec].iov_base, vlen); ret = __bufp_readbuf(sk, &bufd, flags); xnbufd_unmap_uread(&bufd); @@ -352,7 +352,7 @@ static ssize_t __bufp_recvmsg(struct rtipc_private *priv, } static ssize_t bufp_recvmsg(struct rtipc_private *priv, - rtdm_user_info_t *user_info, + struct xnfd *context, struct msghdr *msg, int flags) { struct iovec iov[RTIPC_IOV_MAX]; @@ -372,23 +372,23 @@ static ssize_t bufp_recvmsg(struct rtipc_private *priv, return -EINVAL; /* Copy I/O vector in */ - if (rtipc_get_arg(user_info, iov, msg->msg_iov, + if (rtipc_get_arg(context, iov, msg->msg_iov, sizeof(iov[0]) * msg->msg_iovlen)) return -EFAULT; - ret = __bufp_recvmsg(priv, user_info, + ret = __bufp_recvmsg(priv, context, iov, msg->msg_iovlen, flags, &saddr); if (ret <= 0) return ret; /* Copy the updated I/O vector back */ - if (rtipc_put_arg(user_info, msg->msg_iov, iov, + if (rtipc_put_arg(context, msg->msg_iov, iov, sizeof(iov[0]) * msg->msg_iovlen)) return -EFAULT; /* Copy the source address if required. */ if (msg->msg_name) { - if (rtipc_put_arg(user_info, msg->msg_name, + if (rtipc_put_arg(context, msg->msg_name, &saddr, sizeof(saddr))) return -EFAULT; msg->msg_namelen = sizeof(struct sockaddr_ipc); @@ -398,11 +398,11 @@ static ssize_t bufp_recvmsg(struct rtipc_private *priv, } static ssize_t bufp_read(struct rtipc_private *priv, -rtdm_user_info_t *user_info, +struct xnfd *context, void *buf, size_t len) { struct iovec iov = { .iov_base = buf, .iov_len = len }; - return __bufp_recvmsg(priv, user_info, &iov, 1, 0, NULL); + return __bufp_recvmsg(priv, context, &iov, 1, 0, NULL); } static ssize_t __bufp_writebuf(struct bufp_socket *rsk, @@ -522,26 +522,25 @@ out: } static ssize_t __bufp_sendmsg(struct rtipc_private *priv, - rtdm_user_info_t *user_info, + struct xnfd *context,