static int kttcpioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *td) { int error; if ((flag & FWRITE) == 0) return EPERM; switch (cmd) { case KTTCP_IO_SEND: error = kttcp_send(td, (struct kttcp_io_args *) data); break; case KTTCP_IO_RECV: error = kttcp_recv(td, (struct kttcp_io_args *) data); break; default: return EINVAL; } return error; }
int kttcpioctl(dev_t dev, u_long cmd, void *data, int flag, struct lwp *l) { int error; if ((flag & FWRITE) == 0) return EPERM; switch (cmd) { case KTTCP_IO_SEND: error = kttcp_send(l, (struct kttcp_io_args *) data); break; case KTTCP_IO_RECV: error = kttcp_recv(l, (struct kttcp_io_args *) data); break; default: return EINVAL; } return error; }