1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #pragma D depends_on library ip.d 28 #pragma D depends_on library net.d /* conninfo_t */ 29 #pragma D depends_on library scsi.d /* scsicmd_t */ 30 #pragma D depends_on library iscsi.d /* iscsiinfo_t */ 31 #pragma D depends_on module genunix 32 #pragma D depends_on module iscsit 33 #pragma D depends_on module idm 34 35 #pragma D binding "1.5" translator 36 translator conninfo_t < idm_conn_t *P > { 37 ci_local = (P->ic_laddr.ss_family == AF_INET) ? 38 inet_ntoa((ipaddr_t *) 39 &((struct sockaddr_in *)&P->ic_laddr)->sin_addr) : 40 inet_ntoa6(&((struct sockaddr_in6 *)&P->ic_laddr)->sin6_addr); 41 42 ci_remote = (P->ic_raddr.ss_family == AF_INET) ? 43 inet_ntoa((ipaddr_t *) 44 &((struct sockaddr_in *)&P->ic_raddr)->sin_addr) : 45 inet_ntoa6(&((struct sockaddr_in6 *)&P->ic_raddr)->sin6_addr); 46 47 ci_protocol = (P->ic_laddr.ss_family == AF_INET) ? "ipv4" : "ipv6"; 48 }; 49 50 #pragma D binding "1.5" translator 51 translator iscsiinfo_t < iscsi_async_evt_hdr_t *P > { 52 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 53 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 54 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 55 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 56 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 57 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 58 (((idm_conn_t *)arg0)->ic_transport_type == 59 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 60 ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) + 61 ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) + 62 ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) + 63 ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) + 64 ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) + 65 ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) + 66 ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) + 67 ((uint64_t)P->lun[7] << (64 - 7*8 - 8))); 68 ii_itt = 0; 69 ii_ttt = 0; 70 ii_cmdsn = 0; 71 ii_statsn = ntohl(P->statsn); 72 ii_datasn = 0; 73 ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; 74 ii_flags = P->flags; 75 }; 76 77 #pragma D binding "1.5" translator 78 translator iscsiinfo_t < iscsi_login_hdr_t *P > { 79 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 80 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 81 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 82 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 83 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 84 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 85 (((idm_conn_t *)arg0)->ic_transport_type == 86 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 87 ii_lun = 0; /* NA */ 88 ii_itt = ntohl(P->itt); 89 ii_ttt = 0xffffffff; 90 ii_cmdsn = ntohl(P->cmdsn); 91 ii_statsn = ntohl(P->expstatsn); 92 ii_datasn = 0; 93 ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; 94 ii_flags = P->flags; 95 }; 96 97 #pragma D binding "1.5" translator 98 translator iscsiinfo_t < iscsi_login_rsp_hdr_t *P > { 99 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 100 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 101 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 102 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 103 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 104 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 105 (((idm_conn_t *)arg0)->ic_transport_type == 106 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 107 ii_lun = 0; /* NA */ 108 ii_itt = ntohl(P->itt); 109 ii_ttt = 0xffffffff; 110 ii_cmdsn = ntohl(P->expcmdsn); 111 ii_statsn = ntohl(P->statsn); 112 ii_datasn = 0; 113 ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; 114 ii_flags = P->flags; 115 }; 116 117 #pragma D binding "1.5" translator 118 translator iscsiinfo_t < iscsi_logout_hdr_t *P > { 119 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 120 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 121 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 122 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 123 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 124 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 125 (((idm_conn_t *)arg0)->ic_transport_type == 126 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 127 ii_lun = 0; /* NA */ 128 ii_itt = ntohl(P->itt); 129 ii_ttt = 0xffffffff; 130 ii_cmdsn = ntohl(P->cmdsn); 131 ii_statsn = ntohl(P->expstatsn); 132 ii_datasn = 0; 133 ii_datalen = 0; 134 ii_flags = P->flags; 135 }; 136 137 #pragma D binding "1.5" translator 138 translator iscsiinfo_t < iscsi_logout_rsp_hdr_t *P > { 139 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 140 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 141 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 142 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 143 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 144 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 145 (((idm_conn_t *)arg0)->ic_transport_type == 146 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 147 ii_lun = 0; /* NA */ 148 ii_itt = ntohl(P->itt); 149 ii_ttt = 0xffffffff; 150 ii_cmdsn = 0; 151 ii_statsn = ntohl(P->statsn); 152 ii_datasn = 0; 153 ii_datalen = 0; 154 ii_flags = P->flags; 155 }; 156 157 #pragma D binding "1.5" translator 158 translator iscsiinfo_t < iscsi_rtt_hdr_t *P > { 159 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 160 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 161 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 162 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 163 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 164 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 165 (((idm_conn_t *)arg0)->ic_transport_type == 166 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 167 ii_lun = 0; /* NA */ 168 ii_itt = ntohl(P->itt); 169 ii_ttt = ntohl(P->ttt); 170 ii_cmdsn = ntohl(P->expcmdsn); 171 ii_statsn = ntohl(P->statsn); 172 ii_datasn = ntohl(P->rttsn); 173 ii_datalen = 0; 174 ii_flags = P->flags; 175 }; 176 177 #pragma D binding "1.5" translator 178 translator iscsiinfo_t < iscsi_data_rsp_hdr_t *P > { 179 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 180 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 181 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 182 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 183 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 184 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 185 (((idm_conn_t *)arg0)->ic_transport_type == 186 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 187 ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) + 188 ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) + 189 ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) + 190 ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) + 191 ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) + 192 ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) + 193 ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) + 194 ((uint64_t)P->lun[7] << (64 - 7*8 - 8))); 195 ii_itt = ntohl(P->itt); 196 ii_ttt = ntohl(P->ttt); 197 ii_cmdsn = ntohl(P->expcmdsn); 198 ii_statsn = ntohl(P->statsn); 199 ii_datasn = ntohl(P->datasn); 200 ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; 201 ii_flags = P->flags; 202 }; 203 204 #pragma D binding "1.5" translator 205 translator iscsiinfo_t < iscsi_data_hdr_t *P > { 206 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 207 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 208 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 209 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 210 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 211 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 212 (((idm_conn_t *)arg0)->ic_transport_type == 213 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 214 ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) + 215 ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) + 216 ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) + 217 ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) + 218 ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) + 219 ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) + 220 ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) + 221 ((uint64_t)P->lun[7] << (64 - 7*8 - 8))); 222 ii_itt = ntohl(P->itt); 223 ii_ttt = ntohl(P->ttt); 224 ii_cmdsn = 0; 225 ii_statsn = ntohl(P->expstatsn); 226 ii_datasn = ntohl(P->datasn); 227 ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; 228 ii_flags = P->flags; 229 }; 230 231 #pragma D binding "1.5" translator 232 translator iscsiinfo_t < iscsi_nop_in_hdr_t *P > { 233 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 234 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 235 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 236 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 237 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 238 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 239 (((idm_conn_t *)arg0)->ic_transport_type == 240 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 241 ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) + 242 ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) + 243 ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) + 244 ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) + 245 ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) + 246 ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) + 247 ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) + 248 ((uint64_t)P->lun[7] << (64 - 7*8 - 8))); 249 ii_itt = ntohl(P->itt); 250 ii_ttt = ntohl(P->ttt); 251 ii_cmdsn = ntohl(P->expcmdsn); 252 ii_statsn = ntohl(P->statsn); 253 ii_datasn = 0; 254 ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; 255 ii_flags = P->flags; 256 }; 257 258 #pragma D binding "1.5" translator 259 translator iscsiinfo_t < iscsi_nop_out_hdr_t *P > { 260 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 261 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 262 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 263 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 264 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 265 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 266 (((idm_conn_t *)arg0)->ic_transport_type == 267 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 268 ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) + 269 ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) + 270 ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) + 271 ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) + 272 ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) + 273 ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) + 274 ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) + 275 ((uint64_t)P->lun[7] << (64 - 7*8 - 8))); 276 ii_itt = ntohl(P->itt); 277 ii_ttt = ntohl(P->ttt); 278 ii_cmdsn = ntohl(P->cmdsn); 279 ii_statsn = ntohl(P->expstatsn); 280 ii_datasn = 0; 281 ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; 282 ii_flags = P->flags; 283 }; 284 285 #pragma D binding "1.5" translator 286 translator iscsiinfo_t < iscsi_scsi_cmd_hdr_t *P > { 287 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 288 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 289 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 290 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 291 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 292 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 293 (((idm_conn_t *)arg0)->ic_transport_type == 294 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 295 ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) + 296 ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) + 297 ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) + 298 ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) + 299 ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) + 300 ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) + 301 ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) + 302 ((uint64_t)P->lun[7] << (64 - 7*8 - 8))); 303 ii_itt = ntohl(P->itt); 304 ii_ttt = 0xffffffff; 305 ii_cmdsn = ntohl(P->cmdsn); 306 ii_statsn = ntohl(P->expstatsn); 307 ii_datasn = 0; 308 ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; 309 ii_flags = P->flags; 310 }; 311 312 #pragma D binding "1.5" translator 313 translator iscsiinfo_t < iscsi_scsi_rsp_hdr_t *P > { 314 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 315 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 316 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 317 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 318 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 319 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 320 (((idm_conn_t *)arg0)->ic_transport_type == 321 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 322 ii_lun = 0; /* NA */ 323 ii_itt = ntohl(P->itt); 324 ii_ttt = 0xffffffff; 325 ii_cmdsn = ntohl(P->expcmdsn); 326 ii_statsn = ntohl(P->statsn); 327 ii_datasn = ntohl(P->expdatasn); 328 ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; 329 ii_flags = P->flags; 330 }; 331 332 #pragma D binding "1.5" translator 333 translator iscsiinfo_t < iscsi_scsi_task_mgt_hdr_t *P > { 334 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 335 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 336 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 337 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 338 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 339 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 340 (((idm_conn_t *)arg0)->ic_transport_type == 341 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 342 ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) + 343 ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) + 344 ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) + 345 ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) + 346 ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) + 347 ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) + 348 ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) + 349 ((uint64_t)P->lun[7] << (64 - 7*8 - 8))); 350 ii_itt = ntohl(P->itt); 351 ii_ttt = ntohl(P->rtt); 352 ii_cmdsn = ntohl(P->cmdsn); 353 ii_statsn = ntohl(P->expstatsn); 354 ii_datasn = 0; 355 ii_datalen = 0; 356 ii_flags = 0; 357 }; 358 359 #pragma D binding "1.5" translator 360 translator iscsiinfo_t < iscsi_scsi_task_mgt_rsp_hdr_t *P > { 361 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 362 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 363 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 364 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 365 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 366 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 367 (((idm_conn_t *)arg0)->ic_transport_type == 368 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 369 ii_lun = 0; /* NA */ 370 ii_itt = ntohl(P->itt); 371 ii_ttt = ntohl(P->rtt); 372 ii_cmdsn = ntohl(P->expcmdsn); 373 ii_statsn = ntohl(P->statsn); 374 ii_datasn = 0; 375 ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; 376 ii_flags = P->flags; 377 }; 378 379 #pragma D binding "1.5" translator 380 translator iscsiinfo_t < iscsi_text_hdr_t *P > { 381 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 382 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 383 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 384 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 385 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 386 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 387 (((idm_conn_t *)arg0)->ic_transport_type == 388 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 389 ii_lun = 0; /* NA */ 390 ii_itt = ntohl(P->itt); 391 ii_ttt = ntohl(P->ttt); 392 ii_cmdsn = ntohl(P->cmdsn); 393 ii_statsn = ntohl(P->expstatsn); 394 ii_datasn = 0; 395 ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; 396 ii_flags = P->flags; 397 }; 398 399 #pragma D binding "1.5" translator 400 translator iscsiinfo_t < iscsi_text_rsp_hdr_t *P > { 401 ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; 402 ii_target = ((idm_conn_t *)arg0)->ic_target_name; 403 ii_isid = ((idm_conn_t *)arg0)->ic_isid; 404 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 405 ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == 406 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 407 (((idm_conn_t *)arg0)->ic_transport_type == 408 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 409 ii_lun = 0; /* NA */ 410 ii_itt = ntohl(P->itt); 411 ii_ttt = ntohl(P->ttt); 412 ii_cmdsn = ntohl(P->expcmdsn); 413 ii_statsn = ntohl(P->statsn); 414 ii_datasn = 0; 415 ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; 416 ii_flags = P->flags; 417 }; 418 419 #pragma D binding "1.5" translator 420 translator iscsiinfo_t < idm_conn_t *P > { 421 ii_initiator = P->ic_initiator_name; 422 ii_target = P->ic_target_name; 423 ii_isid = P->ic_isid; 424 ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; 425 ii_transport = (P->ic_transport_type == 426 IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : 427 (P->ic_transport_type == 428 IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; 429 ii_lun = 0; 430 ii_itt = 0; 431 ii_ttt = 0; 432 ii_cmdsn = 0; 433 ii_statsn = 0; 434 ii_datasn = 0; 435 ii_datalen = 0; 436 ii_flags = 0; 437 }; 438 439 #pragma D binding "1.5" translator 440 translator xferinfo_t < uintptr_t P > { 441 xfer_laddr = (arg1 == NULL) ? 0xffffffff : (uintptr_t)arg1; 442 xfer_loffset = arg2; 443 xfer_lkey = 0; /* not used */ 444 xfer_len = arg6; 445 xfer_raddr = arg3; 446 xfer_roffset = arg4; 447 xfer_rkey = arg5; 448 xfer_type = arg7; 449 }; 450 451 inline int IDM_TRANSPORT_TYPE_ISER = 0; 452 #pragma D binding "1.5" IDM_TRANSPORT_TYPE_ISER 453 inline int IDM_TRANSPORT_TYPE_SOCKETS = 1; 454 #pragma D binding "1.5" IDM_TRANSPORT_TYPE_SOCKETS 455 456