Lines Matching refs:da

180 _is_dev_authorized(devalloc_t *da, uid_t uid)  in _is_dev_authorized()  argument
185 auth_list = da->da_devauth; in _is_dev_authorized()
248 print_dev_attrs(int optflag, devalloc_t *da, devmap_t *dm, in print_dev_attrs() argument
257 (da->da_devauth ? da->da_devauth : ""), KV_DELIMITER); in print_dev_attrs()
259 (da->da_devexec ? da->da_devexec : ""), KV_DELIMITER); in print_dev_attrs()
260 if (da->da_devopts != NULL) { in print_dev_attrs()
261 if (_kva2str(da->da_devopts, optbuf, sizeof (optbuf), in print_dev_attrs()
303 _list_device(int optflag, uid_t uid, devalloc_t *da, char *zonename) in _list_device() argument
316 if ((dm = getdmapnam(da->da_devname)) == NULL) { in _list_device()
319 da->da_devname); in _list_device()
328 print_dev_attrs(optflag, da, dm, &fi); in _list_device()
338 da->da_devname); in _list_device()
345 da->da_devname); in _list_device()
351 da->da_devname); in _list_device()
363 is_authorized = _is_dev_authorized(da, uid); in _list_device()
386 if (_check_label(da, zonename, uid, in _list_device()
409 if (_check_label(da, zonename, uid, in _list_device()
438 if (_check_label(da, zonename, uid, in _list_device()
459 if (_check_label(da, zonename, uid, in _list_device()
475 print_dev_attrs(optflag, da, dm, &fi); in _list_device()
493 devalloc_t *da; in list_devices() local
558 while ((da = getdaent()) != NULL) { in list_devices()
559 class = kva_match(da->da_devopts, DAOPT_CLASS); in list_devices()
561 (void) _list_device(optflag, uid, da, in list_devices()
564 freedaent(da); in list_devices()
570 if ((da = getdanam(device)) == NULL) { in list_devices()
574 error = _list_device(optflag, uid, da, zonename); in list_devices()
575 freedaent(da); in list_devices()
581 while ((da = getdaent()) != NULL) { in list_devices()
582 (void) _list_device(optflag, uid, da, zonename); in list_devices()
583 freedaent(da); in list_devices()
998 _deallocate_dev(int optflag, devalloc_t *da, devmap_t *dm_in, uid_t uid, in _deallocate_dev() argument
1014 if ((dm_new = getdmapnam(da->da_devname)) == NULL) { in _deallocate_dev()
1017 da->da_devname); in _deallocate_dev()
1030 da->da_devname); in _deallocate_dev()
1037 da->da_devname); in _deallocate_dev()
1043 da->da_devname); in _deallocate_dev()
1057 is_authorized = _is_dev_authorized(da, uid); in _deallocate_dev()
1060 da->da_devname); in _deallocate_dev()
1075 _check_label(da, zonename, uid, CHECK_URANGE) != 0) { in _deallocate_dev()
1102 devzone = kva_match(da->da_devopts, DAOPT_ZONE); in _deallocate_dev()
1130 error = exec_clean(optflag, da->da_devname, da->da_devexec, nuid, in _deallocate_dev()
1148 _allocate_dev(int optflag, uid_t uid, devalloc_t *da, char *zonename, in _allocate_dev() argument
1166 if ((dm = getdmapnam(da->da_devname)) == NULL) { in _allocate_dev()
1169 da->da_devname); in _allocate_dev()
1177 da->da_devname); in _allocate_dev()
1184 da->da_devname); in _allocate_dev()
1190 da->da_devname); in _allocate_dev()
1209 is_authorized = _is_dev_authorized(da, uid); in _allocate_dev()
1211 dprintf("Device %s is not allocatable\n", da->da_devname); in _allocate_dev()
1224 if (_check_label(da, zonename, uid, CHECK_DRANGE) != 0) { in _allocate_dev()
1239 if (_deallocate_dev(dealloc_optflag, da, dm, uid, in _allocate_dev()
1242 da->da_devname); in _allocate_dev()
1264 error = exec_clean(optflag, da->da_devname, da->da_devexec, uid, in _allocate_dev()
1272 da->da_devexec); in _allocate_dev()
1278 da->da_devexec); in _allocate_dev()
1328 devalloc_t *da, int flag) in _store_devnames() argument
1334 if (da) { in _store_devnames()
1335 dnms->dnames[*count] = strdup(da->da_devname); in _store_devnames()
1357 devalloc_t *da; in allocate() local
1370 while ((da = getdatype(device)) != NULL) { in allocate()
1372 da_check_logindevperm(da->da_devname)) { in allocate()
1373 freedaent(da); in allocate()
1376 dprintf("trying to allocate %s\n", da->da_devname); in allocate()
1377 error = _allocate_dev(optflag, uid, da, zonename, in allocate()
1385 _store_devnames(&count, &dnms, zonename, da, 0); in allocate()
1387 freedaent(da); in allocate()
1394 if ((da = getdanam(device)) == NULL) { in allocate()
1399 freedaent(da); in allocate()
1402 dprintf("trying to allocate %s\n", da->da_devname); in allocate()
1403 error = _allocate_dev(optflag, uid, da, zonename, &lock_fd); in allocate()
1410 _store_devnames(&count, &dnms, zonename, da, 0); in allocate()
1411 freedaent(da); in allocate()
1436 devalloc_t *da; in deallocate() local
1451 while ((da = getdaent()) != NULL) { in deallocate()
1453 da_check_logindevperm(da->da_devname)) { in deallocate()
1454 freedaent(da); in deallocate()
1457 dprintf("trying to deallocate %s\n", da->da_devname); in deallocate()
1458 error = _deallocate_dev(optflag, da, NULL, uid, in deallocate()
1466 _store_devnames(&count, &dnms, zonename, da, 0); in deallocate()
1468 freedaent(da); in deallocate()
1475 while ((da = getdatype(device)) != NULL) { in deallocate()
1476 if (da_check_logindevperm(da->da_devname)) { in deallocate()
1477 freedaent(da); in deallocate()
1480 dprintf("trying to deallocate %s\n", da->da_devname); in deallocate()
1481 error = _deallocate_dev(optflag, da, NULL, uid, in deallocate()
1489 _store_devnames(&count, &dnms, zonename, da, 0); in deallocate()
1491 freedaent(da); in deallocate()
1498 while ((da = getdaent()) != NULL) { in deallocate()
1499 class = kva_match(da->da_devopts, DAOPT_CLASS); in deallocate()
1502 da->da_devname); in deallocate()
1503 error = _deallocate_dev(optflag, da, NULL, uid, in deallocate()
1513 da, 0); in deallocate()
1517 freedaent(da); in deallocate()
1523 if ((da = getdanam(device)) == NULL) { in deallocate()
1527 if (system_labeled && da_check_logindevperm(da->da_devname)) { in deallocate()
1528 freedaent(da); in deallocate()
1531 dprintf("trying to deallocate %s\n", da->da_devname); in deallocate()
1532 error = _deallocate_dev(optflag, da, NULL, uid, zonename, in deallocate()
1540 _store_devnames(&count, &dnms, zonename, da, 0); in deallocate()
1542 freedaent(da); in deallocate()
1590 _check_label(devalloc_t *da, char *zonename, uid_t uid, int flag) in _check_label() argument
1600 if ((da == NULL) || (zonename == NULL)) in _check_label()
1611 lstr = kva_match(da->da_devopts, DAOPT_MINLABEL); in _check_label()
1617 da->da_devname); in _check_label()
1623 lstr = kva_match(da->da_devopts, DAOPT_MAXLABEL); in _check_label()
1629 da->da_devname); in _check_label()
1669 dprintf("%s device label ", da->da_devname); in _check_label()
1674 alloczone = kva_match(da->da_devopts, DAOPT_ZONE); in _check_label()
1682 dprintf("%s is allocated\n", da->da_devname); in _check_label()