Lines Matching defs:da
488 door_arg_t da;
490 da.data_ptr = cmd;
491 da.data_size = len;
492 da.desc_ptr = NULL;
493 da.desc_num = 0;
494 da.rbuf = result == NULL ? NULL : *result;
495 da.rsize = rlen == NULL ? 0 : *rlen;
497 if (door_call(srv->door, &da) != 0) {
503 if (da.desc_ptr != NULL) {
506 *fd = da.desc_ptr[i++].d_data.d_desc.d_descriptor;
507 for (; i < da.desc_num; i++)
508 (void) close(da.desc_ptr[i].d_data.d_desc.d_descriptor);
511 if (da.data_size == sizeof (int)) {
512 int x = *(int *)da.data_ptr;
514 if (result == NULL || da.rbuf != *result)
515 (void) munmap(da.rbuf, da.rsize);
523 if (da.data_ptr != NULL && da.rbuf != da.data_ptr)
524 (void) memmove(da.rbuf, da.data_ptr, da.data_size);
525 *result = da.rbuf;
526 *rlen = da.data_size;
527 } else if (da.rbuf != NULL) {
528 (void) munmap(da.rbuf, da.rsize);