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