Lines Matching refs:req
35 devctl_request(u_long cmd, struct devreq *req) in devctl_request() argument
44 return (ioctl(devctl2_fd, cmd, req)); in devctl_request()
50 struct devreq req; in devctl_simple_request() local
52 memset(&req, 0, sizeof(req)); in devctl_simple_request()
53 if (strlcpy(req.dr_name, name, sizeof(req.dr_name)) >= in devctl_simple_request()
54 sizeof(req.dr_name)) { in devctl_simple_request()
58 req.dr_flags = flags; in devctl_simple_request()
59 return (devctl_request(cmd, &req)); in devctl_simple_request()
109 struct devreq req; in devctl_set_driver() local
111 memset(&req, 0, sizeof(req)); in devctl_set_driver()
112 if (strlcpy(req.dr_name, device, sizeof(req.dr_name)) >= in devctl_set_driver()
113 sizeof(req.dr_name)) { in devctl_set_driver()
117 req.dr_data = __DECONST(char *, driver); in devctl_set_driver()
119 req.dr_flags |= DEVF_SET_DRIVER_DETACH; in devctl_set_driver()
120 return (devctl_request(DEV_SET_DRIVER, &req)); in devctl_set_driver()
173 struct devreq req; in devctl_getpath() local
176 memset(&req, 0, sizeof(req)); in devctl_getpath()
177 if (strlcpy(req.dr_name, device, sizeof(req.dr_name)) >= in devctl_getpath()
178 sizeof(req.dr_name)) { in devctl_getpath()
188 req.dr_flags = 0; in devctl_getpath()
189 req.dr_buffer.length = BUFLEN; in devctl_getpath()
191 req.dr_buffer.buffer = malloc(req.dr_buffer.length); in devctl_getpath()
192 strlcpy(req.dr_buffer.buffer, locator, req.dr_buffer.length); in devctl_getpath()
193 if (devctl_request(DEV_GET_PATH, &req) == 0) { in devctl_getpath()
194 *buffer = req.dr_buffer.buffer; in devctl_getpath()
197 if (errno == ENAMETOOLONG && req.dr_buffer.length != BUFLEN) { in devctl_getpath()
198 free(req.dr_buffer.buffer); in devctl_getpath()
202 free(req.dr_buffer.buffer); in devctl_getpath()