int nfsclnt(struct thread *td, struct nfsclnt_args *uap) { struct lockd_ans la; int error; if ((uap->flag & NFSCLNT_LOCKDANS) != 0) { error = copyin(uap->argp, &la, sizeof(la)); return (error != 0 ? error : nfslockdans(td, &la)); } return EINVAL; }
static int nfslock_write(struct cdev *dev, struct uio *uio, int ioflag) { struct lockd_ans la; int error; if (uio->uio_resid != sizeof la) return (EOPNOTSUPP); error = uiomove(&la, sizeof la, uio); if (!error) error = nfslockdans(curthread, &la); return (error); }