Lines Matching refs:req
36 devctl_request(u_long cmd, struct devreq *req) in devctl_request() argument
45 return (ioctl(devctl2_fd, cmd, req)); in devctl_request()
51 struct devreq req; in devctl_simple_request() local
53 memset(&req, 0, sizeof(req)); in devctl_simple_request()
54 if (strlcpy(req.dr_name, name, sizeof(req.dr_name)) >= in devctl_simple_request()
55 sizeof(req.dr_name)) { in devctl_simple_request()
59 req.dr_flags = flags; in devctl_simple_request()
60 return (devctl_request(cmd, &req)); in devctl_simple_request()
110 struct devreq req; in devctl_set_driver() local
112 memset(&req, 0, sizeof(req)); in devctl_set_driver()
113 if (strlcpy(req.dr_name, device, sizeof(req.dr_name)) >= in devctl_set_driver()
114 sizeof(req.dr_name)) { in devctl_set_driver()
118 req.dr_data = __DECONST(char *, driver); in devctl_set_driver()
120 req.dr_flags |= DEVF_SET_DRIVER_DETACH; in devctl_set_driver()
121 return (devctl_request(DEV_SET_DRIVER, &req)); in devctl_set_driver()
174 struct devreq req; in devctl_getpath() local
177 memset(&req, 0, sizeof(req)); in devctl_getpath()
178 if (strlcpy(req.dr_name, device, sizeof(req.dr_name)) >= in devctl_getpath()
179 sizeof(req.dr_name)) { in devctl_getpath()
189 req.dr_flags = 0; in devctl_getpath()
190 req.dr_buffer.length = BUFLEN; in devctl_getpath()
192 req.dr_buffer.buffer = malloc(req.dr_buffer.length); in devctl_getpath()
193 strlcpy(req.dr_buffer.buffer, locator, req.dr_buffer.length); in devctl_getpath()
194 if (devctl_request(DEV_GET_PATH, &req) == 0) { in devctl_getpath()
195 *buffer = req.dr_buffer.buffer; in devctl_getpath()
198 if (errno == ENAMETOOLONG && req.dr_buffer.length != BUFLEN) { in devctl_getpath()
199 free(req.dr_buffer.buffer); in devctl_getpath()
203 free(req.dr_buffer.buffer); in devctl_getpath()