Lines Matching refs:uargs
155 sev_publish_args_t uargs; in sysevent_publish() local
163 if (copyin(arg, &uargs, sizeof (sev_publish_args_t)) != 0) in sysevent_publish()
169 if (uargs.ev.len > MAX_EV_SIZE_LEN) in sysevent_publish()
175 if (uargs.flags & ~(EVCH_NOSLEEP | EVCH_SLEEP | EVCH_QWAIT)) in sysevent_publish()
182 km_flags = uargs.flags & (EVCH_NOSLEEP | EVCH_SLEEP); in sysevent_publish()
186 ev = evch_usrallocev(uargs.ev.len, uargs.flags); in sysevent_publish()
188 if (copyin((void *)(uintptr_t)uargs.ev.name, ev, uargs.ev.len) != 0) { in sysevent_publish()
193 return (evch_usrpostevent(ctl->chp, ev, uargs.flags)); in sysevent_publish()
206 sev_bind_args_t uargs; in sysevent_chan_open() local
216 if (copyin(arg, &uargs, sizeof (sev_bind_args_t)) != 0) in sysevent_chan_open()
219 if (uargs.chan_name.len > MAX_CHNAME_LEN) in sysevent_chan_open()
222 chan_name = kmem_alloc(uargs.chan_name.len, KM_SLEEP); in sysevent_chan_open()
224 if (copyin((void *)(uintptr_t)uargs.chan_name.name, chan_name, in sysevent_chan_open()
225 uargs.chan_name.len) != 0) { in sysevent_chan_open()
226 kmem_free(chan_name, uargs.chan_name.len); in sysevent_chan_open()
230 if (!sysevent_isstrend(chan_name, uargs.chan_name.len)) { in sysevent_chan_open()
231 kmem_free(chan_name, uargs.chan_name.len); in sysevent_chan_open()
240 uargs.flags & EVCH_B_FLAGS, &ec); in sysevent_chan_open()
242 kmem_free(chan_name, uargs.chan_name.len); in sysevent_chan_open()
255 sev_control_args_t uargs; in sysevent_chan_control() local
263 if (copyin(arg, &uargs, sizeof (sev_control_args_t)) != 0) in sysevent_chan_control()
266 switch (uargs.cmd) { in sysevent_chan_control()
269 rc = evch_usrcontrol_get(ctl->chp, uargs.cmd, &uargs.value); in sysevent_chan_control()
271 if (copyout((void *)&uargs, arg, in sysevent_chan_control()
278 rc = evch_usrcontrol_set(ctl->chp, uargs.cmd, uargs.value); in sysevent_chan_control()
290 sev_subscribe_args_t uargs; in sysevent_subscribe() local
300 if (copyin(arg, &uargs, sizeof (sev_subscribe_args_t)) != 0) in sysevent_subscribe()
303 if (uargs.sid.len > MAX_SUBID_LEN || in sysevent_subscribe()
304 uargs.class_info.len > MAX_CLASS_LEN) in sysevent_subscribe()
307 sid = kmem_alloc(uargs.sid.len, KM_SLEEP); in sysevent_subscribe()
308 if (copyin((void *)(uintptr_t)uargs.sid.name, in sysevent_subscribe()
309 sid, uargs.sid.len) != 0) { in sysevent_subscribe()
310 kmem_free(sid, uargs.sid.len); in sysevent_subscribe()
313 if (!sysevent_isstrend(sid, uargs.sid.len)) { in sysevent_subscribe()
314 kmem_free(sid, uargs.sid.len); in sysevent_subscribe()
319 if (uargs.class_info.len != 0) { in sysevent_subscribe()
320 class_info = kmem_alloc(uargs.class_info.len, KM_SLEEP); in sysevent_subscribe()
321 if (copyin((void *)(uintptr_t)uargs.class_info.name, class_info, in sysevent_subscribe()
322 uargs.class_info.len) != 0) { in sysevent_subscribe()
323 kmem_free(class_info, uargs.class_info.len); in sysevent_subscribe()
324 kmem_free(sid, uargs.sid.len); in sysevent_subscribe()
327 if (!sysevent_isstrend(class_info, uargs.class_info.len)) { in sysevent_subscribe()
328 kmem_free(class_info, uargs.class_info.len); in sysevent_subscribe()
329 kmem_free(sid, uargs.sid.len); in sysevent_subscribe()
339 (int)uargs.door_desc, uargs.flags); in sysevent_subscribe()
341 kmem_free(class_info, uargs.class_info.len); in sysevent_subscribe()
342 kmem_free(sid, uargs.sid.len); in sysevent_subscribe()
351 sev_unsubscribe_args_t uargs; in sysevent_unsubscribe() local
355 if (copyin(arg, &uargs, sizeof (sev_unsubscribe_args_t)) != 0) in sysevent_unsubscribe()
362 if (uargs.sid.len > MAX_SUBID_LEN) in sysevent_unsubscribe()
366 if (uargs.sid.len == 0) { in sysevent_unsubscribe()
371 sid = kmem_alloc(uargs.sid.len, KM_SLEEP); in sysevent_unsubscribe()
373 if (copyin((void *)(uintptr_t)uargs.sid.name, in sysevent_unsubscribe()
374 sid, uargs.sid.len) != 0) { in sysevent_unsubscribe()
375 kmem_free(sid, uargs.sid.len); in sysevent_unsubscribe()
381 kmem_free(sid, uargs.sid.len); in sysevent_unsubscribe()
390 sev_chandata_args_t uargs; in sysevent_channames() local
395 if (copyin(arg, &uargs, sizeof (sev_chandata_args_t)) != 0) in sysevent_channames()
398 if (uargs.out_data.len == 0 || uargs.out_data.len > EVCH_MAX_DATA_SIZE) in sysevent_channames()
401 buf = kmem_alloc(uargs.out_data.len, KM_SLEEP); in sysevent_channames()
403 if ((len = evch_usrgetchnames(buf, uargs.out_data.len)) == -1) { in sysevent_channames()
408 ASSERT(len <= uargs.out_data.len); in sysevent_channames()
410 (void *)(uintptr_t)uargs.out_data.name, len) != 0) { in sysevent_channames()
415 kmem_free(buf, uargs.out_data.len); in sysevent_channames()
424 sev_chandata_args_t uargs; in sysevent_chandata() local
430 if (copyin(arg, &uargs, sizeof (sev_chandata_args_t)) != 0) in sysevent_chandata()
433 if (uargs.in_data.len > MAX_CHNAME_LEN || in sysevent_chandata()
434 uargs.out_data.len > EVCH_MAX_DATA_SIZE) in sysevent_chandata()
437 channel = kmem_alloc(uargs.in_data.len, KM_SLEEP); in sysevent_chandata()
439 if (copyin((void *)(uintptr_t)uargs.in_data.name, channel, in sysevent_chandata()
440 uargs.in_data.len) != 0) { in sysevent_chandata()
441 kmem_free(channel, uargs.in_data.len); in sysevent_chandata()
445 if (!sysevent_isstrend(channel, uargs.in_data.len)) { in sysevent_chandata()
446 kmem_free(channel, uargs.in_data.len); in sysevent_chandata()
450 buf = kmem_alloc(uargs.out_data.len, KM_SLEEP); in sysevent_chandata()
452 len = evch_usrgetchdata(channel, buf, uargs.out_data.len); in sysevent_chandata()
460 ASSERT(len <= uargs.out_data.len); in sysevent_chandata()
462 (void *)(uintptr_t)uargs.out_data.name, len) != 0) { in sysevent_chandata()
467 kmem_free(buf, uargs.out_data.len); in sysevent_chandata()
468 kmem_free(channel, uargs.in_data.len); in sysevent_chandata()
477 sev_propnvl_args_t uargs; in sysevent_setpropnvl() local
487 if (copyin(arg, &uargs, sizeof (uargs)) != 0) in sysevent_setpropnvl()
490 if (uargs.packednvl.name != 0) { in sysevent_setpropnvl()
491 bufsz = uargs.packednvl.len; in sysevent_setpropnvl()
501 if (copyin((void *)(uintptr_t)uargs.packednvl.name, buf, in sysevent_setpropnvl()
522 sev_propnvl_args_t uargs; in sysevent_getpropnvl() local
534 if (copyin(arg, &uargs, sizeof (uargs)) != 0) in sysevent_getpropnvl()
541 avlsz = uargs.packednvl.len; in sysevent_getpropnvl()
558 (void *)(uintptr_t)uargs.packednvl.name, in sysevent_getpropnvl()
569 uargs.packednvl.len = (uint32_t)reqsz; in sysevent_getpropnvl()
572 uargs.packednvl.len = 0; in sysevent_getpropnvl()
576 uargs.generation = gen; in sysevent_getpropnvl()
577 if (copyout((void *)&uargs, arg, sizeof (uargs)) != 0) in sysevent_getpropnvl()