Lines Matching defs:iocd

472 stmf_copyin_iocdata(intptr_t data, int mode, stmf_iocdata_t **iocd,
479 *iocd = kmem_zalloc(sizeof (stmf_iocdata_t), KM_SLEEP);
481 ret = ddi_copyin((void *)data, *iocd, sizeof (stmf_iocdata_t), mode);
484 if ((*iocd)->stmf_version != STMF_VERSION_1) {
488 if ((*iocd)->stmf_ibuf_size) {
489 *ibuf = kmem_zalloc((*iocd)->stmf_ibuf_size, KM_SLEEP);
490 ret = ddi_copyin((void *)((unsigned long)(*iocd)->stmf_ibuf),
491 *ibuf, (*iocd)->stmf_ibuf_size, mode);
493 if ((*iocd)->stmf_obuf_size)
494 *obuf = kmem_zalloc((*iocd)->stmf_obuf_size, KM_SLEEP);
501 kmem_free(*obuf, (*iocd)->stmf_obuf_size);
505 kmem_free(*ibuf, (*iocd)->stmf_ibuf_size);
508 kmem_free(*iocd, sizeof (stmf_iocdata_t));
513 stmf_copyout_iocdata(intptr_t data, int mode, stmf_iocdata_t *iocd, void *obuf)
517 if (iocd->stmf_obuf_size) {
518 ret = ddi_copyout(obuf, (void *)(unsigned long)iocd->stmf_obuf,
519 iocd->stmf_obuf_size, mode);
523 ret = ddi_copyout(iocd, (void *)data, sizeof (stmf_iocdata_t), mode);
534 stmf_iocdata_t *iocd;
570 ret = stmf_copyin_iocdata(data, mode, &iocd, &ibuf, &obuf);
573 iocd->stmf_error = 0;
581 (iocd->stmf_obuf_size)/sizeof (slist_lu_t));
582 iocd->stmf_obuf_max_nentries = id_list->id_count;
590 n = iocd->stmf_obuf_size/sizeof (slist_lu_t);
594 iocd->stmf_obuf_max_nentries++;
602 iocd->stmf_obuf_nentries = i;
608 iocd->stmf_obuf_max_nentries = stmf_state.stmf_nlus;
610 (iocd->stmf_obuf_size)/sizeof (slist_lu_t));
611 iocd->stmf_obuf_nentries = n;
627 (iocd->stmf_obuf_size)/sizeof (slist_lu_t));
628 iocd->stmf_obuf_max_nentries = id_list->id_count;
629 iocd->stmf_obuf_nentries = n;
641 iocd->stmf_obuf_max_nentries = stmf_state.stmf_nlports;
643 (iocd->stmf_obuf_size)/sizeof (slist_target_port_t));
644 iocd->stmf_obuf_nentries = n;
658 if ((p_id == NULL) || (iocd->stmf_ibuf_size < 4) ||
659 (iocd->stmf_ibuf_size < (p_id[3] + 4))) {
678 iocd->stmf_obuf_max_nentries = ilport->ilport_nsessions;
680 (iocd->stmf_obuf_size)/sizeof (slist_scsi_session_t));
681 iocd->stmf_obuf_nentries = n;
704 if ((iocd->stmf_ibuf_size < 16) ||
705 (iocd->stmf_obuf_size < sizeof (sioc_lu_props_t)) ||
740 (iocd->stmf_ibuf_size < (p_id[3] + 4)) ||
741 (iocd->stmf_obuf_size <
780 (iocd->stmf_ibuf_size < sizeof (stmf_state_desc_t))) {
789 (iocd->stmf_obuf_size < sizeof (stmf_state_desc_t))) {
798 (iocd->stmf_ibuf_size < sizeof (stmf_alua_state_desc_t))) {
807 (iocd->stmf_obuf_size < sizeof (stmf_alua_state_desc_t))) {
819 (iocd->stmf_ibuf_size < sizeof (stmf_state_desc_t))) {
857 (iocd->stmf_ibuf_size < sizeof (stmf_set_props_t))) {
886 (iocd->stmf_ibuf_size < sizeof (stmf_state_desc_t))) {
933 iocd->stmf_error = STMF_IOCERR_UPDATE_NEED_CFG_INIT;
941 (iocd->stmf_ibuf_size < sizeof (stmf_group_op_data_t))) {
955 &iocd->stmf_error);
964 iocd->stmf_error = STMF_IOCERR_UPDATE_NEED_CFG_INIT;
972 (iocd->stmf_ibuf_size < sizeof (stmf_group_op_data_t))) {
986 &iocd->stmf_error);
995 iocd->stmf_error = STMF_IOCERR_UPDATE_NEED_CFG_INIT;
1003 (iocd->stmf_ibuf_size < sizeof (stmf_group_name_t))) {
1013 grpname->name_size, idtype, &iocd->stmf_error);
1022 iocd->stmf_error = STMF_IOCERR_UPDATE_NEED_CFG_INIT;
1029 (iocd->stmf_ibuf_size < sizeof (stmf_group_name_t))) {
1039 grpname->name_size, idtype, &iocd->stmf_error);
1046 iocd->stmf_error = STMF_IOCERR_UPDATE_NEED_CFG_INIT;
1051 (iocd->stmf_ibuf_size < sizeof (stmf_view_op_entry_t))) {
1078 &iocd->stmf_error);
1085 &iocd->stmf_error);
1090 iocd->stmf_obuf_size >= sizeof (stmf_view_op_entry_t)) {
1093 iocd->stmf_obuf_nentries = 1;
1094 iocd->stmf_obuf_max_nentries = 1;
1108 iocd->stmf_error = STMF_IOCERR_UPDATE_NEED_CFG_INIT;
1113 (iocd->stmf_ibuf_size < sizeof (stmf_view_op_entry_t))) {
1123 &iocd->stmf_error);
1133 iocd->stmf_obuf_max_nentries = id_list->id_count;
1135 (iocd->stmf_obuf_size)/sizeof (stmf_group_name_t));
1136 iocd->stmf_obuf_nentries = n;
1141 if (iocd->stmf_obuf_nentries > 0) {
1142 iocd->stmf_obuf_nentries--;
1161 (iocd->stmf_ibuf_size < sizeof (stmf_group_name_t))) {
1176 iocd->stmf_obuf_max_nentries = id_list->id_count;
1178 iocd->stmf_obuf_size/sizeof (stmf_ge_ident_t));
1179 iocd->stmf_obuf_nentries = n;
1194 n = iocd->stmf_obuf_size/sizeof (stmf_view_op_entry_t);
1202 iocd->stmf_obuf_max_nentries++;
1203 if (iocd->stmf_obuf_nentries >= n)
1231 iocd->stmf_obuf_nentries++;
1239 if ((iocd->stmf_ibuf_size != 16) ||
1240 (iocd->stmf_obuf_size < sizeof (stmf_view_op_entry_t))) {
1245 n = iocd->stmf_obuf_size/sizeof (stmf_view_op_entry_t);
1255 iocd->stmf_obuf_max_nentries++;
1256 if (iocd->stmf_obuf_nentries >= n)
1284 iocd->stmf_obuf_nentries++;
1294 iocd->stmf_error = STMF_IOCERR_UPDATE_NEED_CFG_INIT;
1299 (iocd->stmf_ibuf_size < sizeof (stmf_ppioctl_data_t))) {
1306 (iocd->stmf_obuf_size < sizeof (uint64_t))) {
1310 ret = stmf_load_ppd_ioctl(ppi, ppi_token, &iocd->stmf_error);
1316 iocd->stmf_error = STMF_IOCERR_UPDATE_NEED_CFG_INIT;
1321 (iocd->stmf_ibuf_size < sizeof (stmf_ppioctl_data_t))) {
1327 (iocd->stmf_obuf_size < sizeof (stmf_ppioctl_data_t))) {
1331 ret = stmf_get_ppd_ioctl(ppi, ppi_out, &iocd->stmf_error);
1337 iocd->stmf_error = STMF_IOCERR_UPDATE_NEED_CFG_INIT;
1342 (iocd->stmf_ibuf_size < sizeof (stmf_ppioctl_data_t))) {
1354 if (iocd->stmf_ibuf_size && ibuf) {
1355 ((uint8_t *)ibuf)[iocd->stmf_ibuf_size - 1] = 0;
1361 if (obuf && (iocd->stmf_obuf_size > 3)) {
1371 if ((iocd->stmf_obuf_size == 0) || (iocd->stmf_ibuf_size < 4)) {
1376 if ((i > trace_buf_size) || ((i + iocd->stmf_obuf_size) >
1382 bcopy(stmf_trace_buf + i, obuf, iocd->stmf_obuf_size);
1391 ret = stmf_copyout_iocdata(data, mode, iocd, obuf);
1392 } else if (iocd->stmf_error) {
1393 (void) stmf_copyout_iocdata(data, mode, iocd, obuf);
1396 kmem_free(obuf, iocd->stmf_obuf_size);
1400 kmem_free(ibuf, iocd->stmf_ibuf_size);
1403 kmem_free(iocd, sizeof (stmf_iocdata_t));