Lines Matching full:cmd

73 iscsi_task_cmd_encap(uint8_t *header, iscsi_task_cmd_t * cmd)  in iscsi_task_cmd_encap()  argument
75 iscsi_trace(TRACE_ISCSI_ARGS, "Immediate: %d\n", cmd->immediate); in iscsi_task_cmd_encap()
76 iscsi_trace(TRACE_ISCSI_ARGS, "Function: %u\n", cmd->function); in iscsi_task_cmd_encap()
77 iscsi_trace(TRACE_ISCSI_ARGS, "LUN: %" PRIu64 "\n", cmd->lun); in iscsi_task_cmd_encap()
78 iscsi_trace(TRACE_ISCSI_ARGS, "Tag: %#x\n", cmd->tag); in iscsi_task_cmd_encap()
79 iscsi_trace(TRACE_ISCSI_ARGS, "Ref Tag: %#x\n", cmd->ref_tag); in iscsi_task_cmd_encap()
80 iscsi_trace(TRACE_ISCSI_ARGS, "CmdSN: %u\n", cmd->CmdSN); in iscsi_task_cmd_encap()
81 iscsi_trace(TRACE_ISCSI_ARGS, "ExpStatSN: %u\n", cmd->ExpStatSN); in iscsi_task_cmd_encap()
82 iscsi_trace(TRACE_ISCSI_ARGS, "RefCmdSN: %u\n", cmd->RefCmdSN); in iscsi_task_cmd_encap()
83 iscsi_trace(TRACE_ISCSI_ARGS, "ExpDataSN: %u\n", cmd->ExpDataSN); in iscsi_task_cmd_encap()
88 if (cmd->immediate) { in iscsi_task_cmd_encap()
91 header[1] = cmd->function & 0x80; /* Function */ in iscsi_task_cmd_encap()
92 *((uint64_t *) (void *) (header + 8)) = ISCSI_HTONLL(cmd->lun); /* LUN */ in iscsi_task_cmd_encap()
93 *((uint32_t *) (void *) (header + 16)) = ISCSI_HTONL(cmd->tag); /* Tag */ in iscsi_task_cmd_encap()
94 *((uint32_t *) (void *) (header + 20)) = ISCSI_HTONL(cmd->ref_tag); /* Reference Tag */ in iscsi_task_cmd_encap()
95 *((uint32_t *) (void *) (header + 24)) = ISCSI_HTONL(cmd->CmdSN); /* CmdSN */ in iscsi_task_cmd_encap()
96 *((uint32_t *) (void *) (header + 28)) = ISCSI_HTONL(cmd->ExpStatSN); /* ExpStatSN */ in iscsi_task_cmd_encap()
97 *((uint32_t *) (void *) (header + 32)) = ISCSI_HTONL(cmd->RefCmdSN); /* RefCmdSN */ in iscsi_task_cmd_encap()
98 *((uint32_t *) (void *) (header + 36)) = ISCSI_HTONL(cmd->ExpDataSN); /* ExpDataSN */ in iscsi_task_cmd_encap()
104 iscsi_task_cmd_decap(uint8_t *header, iscsi_task_cmd_t * cmd) in iscsi_task_cmd_decap() argument
113 cmd->immediate = ((header[0] & 0x40) == 0x40); in iscsi_task_cmd_decap()
114 cmd->function = header[1] & 0x80; in iscsi_task_cmd_decap()
115 cmd->lun = ISCSI_NTOHLL(*((uint64_t *) (void *) (header + 8))); in iscsi_task_cmd_decap()
116 cmd->tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 16))); in iscsi_task_cmd_decap()
117 cmd->ref_tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 20))); in iscsi_task_cmd_decap()
118 cmd->CmdSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 24))); in iscsi_task_cmd_decap()
119 cmd->ExpStatSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 28))); in iscsi_task_cmd_decap()
120 cmd->RefCmdSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 32))); in iscsi_task_cmd_decap()
121 cmd->ExpDataSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 36))); in iscsi_task_cmd_decap()
142 iscsi_trace(TRACE_ISCSI_ARGS, "Immediate: %d\n", cmd->immediate); in iscsi_task_cmd_decap()
143 iscsi_trace(TRACE_ISCSI_ARGS, "Function: %u\n", cmd->function); in iscsi_task_cmd_decap()
144 iscsi_trace(TRACE_ISCSI_ARGS, "LUN: %" PRIu64 "\n", cmd->lun); in iscsi_task_cmd_decap()
145 iscsi_trace(TRACE_ISCSI_ARGS, "Tag: %#x\n", cmd->tag); in iscsi_task_cmd_decap()
146 iscsi_trace(TRACE_ISCSI_ARGS, "Ref Tag: %#x\n", cmd->ref_tag); in iscsi_task_cmd_decap()
147 iscsi_trace(TRACE_ISCSI_ARGS, "CmdSN: %u\n", cmd->CmdSN); in iscsi_task_cmd_decap()
148 iscsi_trace(TRACE_ISCSI_ARGS, "ExpStatSN: %u\n", cmd->ExpStatSN); in iscsi_task_cmd_decap()
149 iscsi_trace(TRACE_ISCSI_ARGS, "RefCmdSN: %u\n", cmd->RefCmdSN); in iscsi_task_cmd_decap()
150 iscsi_trace(TRACE_ISCSI_ARGS, "ExpDataSN: %u\n", cmd->ExpDataSN); in iscsi_task_cmd_decap()
232 iscsi_nop_out_encap(uint8_t *header, iscsi_nop_out_args_t * cmd) in iscsi_nop_out_encap() argument
237 iscsi_trace(TRACE_ISCSI_ARGS, "Immediate: %d\n", cmd->immediate); in iscsi_nop_out_encap()
238 iscsi_trace(TRACE_ISCSI_ARGS, "Length: %u\n", cmd->length); in iscsi_nop_out_encap()
239 iscsi_trace(TRACE_ISCSI_ARGS, "LUN: %" PRIu64 "\n", cmd->lun); in iscsi_nop_out_encap()
240 iscsi_trace(TRACE_ISCSI_ARGS, "Tag: %#x\n", cmd->tag); in iscsi_nop_out_encap()
241 iscsi_trace(TRACE_ISCSI_ARGS, "Transfer Tag: %#x\n", cmd->transfer_tag); in iscsi_nop_out_encap()
242 iscsi_trace(TRACE_ISCSI_ARGS, "CmdSN: %u\n", cmd->CmdSN); in iscsi_nop_out_encap()
243 iscsi_trace(TRACE_ISCSI_ARGS, "ExpStatSN: %u\n", cmd->ExpStatSN); in iscsi_nop_out_encap()
248 if (cmd->immediate) { in iscsi_nop_out_encap()
252 length = (cmd->length & 0x00ffffff); /* Length */ in iscsi_nop_out_encap()
254 *((uint64_t *) (void *) (header + 8)) = ISCSI_HTONLL(cmd->lun); /* LUN */ in iscsi_nop_out_encap()
255 *((uint32_t *) (void *) (header + 16)) = ISCSI_HTONL(cmd->tag); /* Tag */ in iscsi_nop_out_encap()
256 *((uint32_t *) (void *) (header + 20)) = ISCSI_HTONL(cmd->transfer_tag); /* Target Transfer Tag */ in iscsi_nop_out_encap()
257 *((uint32_t *) (void *) (header + 24)) = ISCSI_HTONL(cmd->CmdSN); /* CmdSN */ in iscsi_nop_out_encap()
258 *((uint32_t *) (void *) (header + 28)) = ISCSI_HTONL(cmd->ExpStatSN); /* ExpStatSN */ in iscsi_nop_out_encap()
264 iscsi_nop_out_decap(uint8_t *header, iscsi_nop_out_args_t * cmd) in iscsi_nop_out_decap() argument
273 cmd->immediate = ((header[0] & 0x40) == 0x40); /* Immediate bit */ in iscsi_nop_out_decap()
274 cmd->length = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 4))); /* Length */ in iscsi_nop_out_decap()
275 cmd->lun = ISCSI_NTOHLL(*((uint64_t *) (void *) (header + 8))); /* LUN */ in iscsi_nop_out_decap()
276 cmd->tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 16))); /* Tag */ in iscsi_nop_out_decap()
277 cmd->transfer_tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 20))); /* Target Tranfer Tag */ in iscsi_nop_out_decap()
278 cmd->CmdSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 24))); /* CmdSN */ in iscsi_nop_out_decap()
279 cmd->ExpStatSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 28))); /* ExpStatSN */ in iscsi_nop_out_decap()
295 iscsi_trace(TRACE_ISCSI_ARGS, "Immediate: %d\n", cmd->immediate); in iscsi_nop_out_decap()
296 iscsi_trace(TRACE_ISCSI_ARGS, "Length: %u\n", cmd->length); in iscsi_nop_out_decap()
297 iscsi_trace(TRACE_ISCSI_ARGS, "LUN: %" PRIu64 "\n", cmd->lun); in iscsi_nop_out_decap()
298 iscsi_trace(TRACE_ISCSI_ARGS, "Tag: %#x\n", cmd->tag); in iscsi_nop_out_decap()
299 iscsi_trace(TRACE_ISCSI_ARGS, "Transfer Tag: %#x\n", cmd->transfer_tag); in iscsi_nop_out_decap()
300 iscsi_trace(TRACE_ISCSI_ARGS, "CmdSN: %u\n", cmd->CmdSN); in iscsi_nop_out_decap()
301 iscsi_trace(TRACE_ISCSI_ARGS, "ExpStatSN: %u\n", cmd->ExpStatSN); in iscsi_nop_out_decap()
310 iscsi_nop_in_encap(uint8_t *header, iscsi_nop_in_args_t * cmd) in iscsi_nop_in_encap() argument
314 iscsi_trace(TRACE_ISCSI_ARGS, "Length: %u\n", cmd->length); in iscsi_nop_in_encap()
315 iscsi_trace(TRACE_ISCSI_ARGS, "LUN: %" PRIu64 "\n", cmd->lun); in iscsi_nop_in_encap()
316 iscsi_trace(TRACE_ISCSI_ARGS, "Tag: %#x\n", cmd->tag); in iscsi_nop_in_encap()
317 iscsi_trace(TRACE_ISCSI_ARGS, "Transfer Tag: %#x\n", cmd->transfer_tag); in iscsi_nop_in_encap()
318 iscsi_trace(TRACE_ISCSI_ARGS, "StatSN: %u\n", cmd->StatSN); in iscsi_nop_in_encap()
319 iscsi_trace(TRACE_ISCSI_ARGS, "ExpCmdSN: %u\n", cmd->ExpCmdSN); in iscsi_nop_in_encap()
320 iscsi_trace(TRACE_ISCSI_ARGS, "MaxCmdSN: %u\n", cmd->MaxCmdSN); in iscsi_nop_in_encap()
326 length = (cmd->length & 0x00ffffff); /* Length */ in iscsi_nop_in_encap()
328 *((uint64_t *) (void *) (header + 8)) = ISCSI_HTONLL(cmd->lun); /* LUN */ in iscsi_nop_in_encap()
329 *((uint32_t *) (void *) (header + 16)) = ISCSI_HTONL(cmd->tag); /* Tag */ in iscsi_nop_in_encap()
330 …*((uint32_t *) (void *) (header + 20)) = ISCSI_HTONL(cmd->transfer_tag); /* Target Transfer Tag … in iscsi_nop_in_encap()
331 *((uint32_t *) (void *) (header + 24)) = ISCSI_HTONL(cmd->StatSN); /* StatSN */ in iscsi_nop_in_encap()
332 *((uint32_t *) (void *) (header + 28)) = ISCSI_HTONL(cmd->ExpCmdSN); /* ExpCmdSN */ in iscsi_nop_in_encap()
333 *((uint32_t *) (void *) (header + 32)) = ISCSI_HTONL(cmd->MaxCmdSN); /* MaxCmdSN */ in iscsi_nop_in_encap()
339 iscsi_nop_in_decap(uint8_t *header, iscsi_nop_in_args_t * cmd) in iscsi_nop_in_decap() argument
348 cmd->length = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 4))); /* Length */ in iscsi_nop_in_decap()
349 cmd->lun = ISCSI_NTOHLL(*((uint64_t *) (void *) (header + 8))); /* LUN */ in iscsi_nop_in_decap()
350 cmd->tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 16))); /* Tag */ in iscsi_nop_in_decap()
351 cmd->transfer_tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 20))); /* Target Transfer Tag */ in iscsi_nop_in_decap()
352 cmd->StatSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 24))); /* StatSN */ in iscsi_nop_in_decap()
353 cmd->ExpCmdSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 28))); /* ExpCmdSN */ in iscsi_nop_in_decap()
354 cmd->MaxCmdSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 32))); /* MaxCmdSN */ in iscsi_nop_in_decap()
372 iscsi_trace(TRACE_ISCSI_ARGS, "Length: %u\n", cmd->length); in iscsi_nop_in_decap()
373 iscsi_trace(TRACE_ISCSI_ARGS, "LUN: %" PRIu64 "\n", cmd->lun); in iscsi_nop_in_decap()
374 iscsi_trace(TRACE_ISCSI_ARGS, "Tag: %#x\n", cmd->tag); in iscsi_nop_in_decap()
375 iscsi_trace(TRACE_ISCSI_ARGS, "Transfer Tag: %#x\n", cmd->transfer_tag); in iscsi_nop_in_decap()
376 iscsi_trace(TRACE_ISCSI_ARGS, "StatSN: %u\n", cmd->StatSN); in iscsi_nop_in_decap()
377 iscsi_trace(TRACE_ISCSI_ARGS, "ExpCmdSN: %u\n", cmd->ExpCmdSN); in iscsi_nop_in_decap()
378 iscsi_trace(TRACE_ISCSI_ARGS, "MaxCmdSN: %u\n", cmd->MaxCmdSN); in iscsi_nop_in_decap()
387 iscsi_text_cmd_encap(uint8_t *header, iscsi_text_cmd_args_t * cmd) in iscsi_text_cmd_encap() argument
391 iscsi_trace(TRACE_ISCSI_ARGS, "Immediate: %d\n", cmd->immediate); in iscsi_text_cmd_encap()
392 iscsi_trace(TRACE_ISCSI_ARGS, "Final: %d\n", cmd->final); in iscsi_text_cmd_encap()
393 iscsi_trace(TRACE_ISCSI_ARGS, "Continue: %d\n", cmd->cont); in iscsi_text_cmd_encap()
394 iscsi_trace(TRACE_ISCSI_ARGS, "Length: %u\n", cmd->length); in iscsi_text_cmd_encap()
395 iscsi_trace(TRACE_ISCSI_ARGS, "LUN: %" PRIu64 "\n", cmd->lun); in iscsi_text_cmd_encap()
396 iscsi_trace(TRACE_ISCSI_ARGS, "Tag: %#x\n", cmd->tag); in iscsi_text_cmd_encap()
397 iscsi_trace(TRACE_ISCSI_ARGS, "Transfer Tag: %#x\n", cmd->transfer_tag); in iscsi_text_cmd_encap()
398 iscsi_trace(TRACE_ISCSI_ARGS, "CmdSN: %u\n", cmd->CmdSN); in iscsi_text_cmd_encap()
399 iscsi_trace(TRACE_ISCSI_ARGS, "ExpStatSN: %u\n", cmd->ExpStatSN); in iscsi_text_cmd_encap()
404 if (cmd->immediate) { in iscsi_text_cmd_encap()
407 if (cmd->final) { in iscsi_text_cmd_encap()
410 if (cmd->cont) { in iscsi_text_cmd_encap()
413 length = (cmd->length & 0x00ffffff); /* Length */ in iscsi_text_cmd_encap()
415 *((uint64_t *) (void *) (header + 8)) = ISCSI_HTONLL(cmd->lun); /* LUN */ in iscsi_text_cmd_encap()
416 *((uint32_t *) (void *) (header + 16)) = ISCSI_HTONL(cmd->tag); /* Tag */ in iscsi_text_cmd_encap()
417 *((uint32_t *) (void *) (header + 20)) = ISCSI_HTONL(cmd->transfer_tag); /* Transfer Tag */ in iscsi_text_cmd_encap()
418 *((uint32_t *) (void *) (header + 24)) = ISCSI_HTONL(cmd->CmdSN); /* CmdSN */ in iscsi_text_cmd_encap()
419 *((uint32_t *) (void *) (header + 28)) = ISCSI_HTONL(cmd->ExpStatSN); /* ExpStatSN */ in iscsi_text_cmd_encap()
425 iscsi_text_cmd_decap(uint8_t *header, iscsi_text_cmd_args_t * cmd) in iscsi_text_cmd_decap() argument
434 cmd->immediate = ((header[0] & 0x40) == 0x40); /* Immediate bit */ in iscsi_text_cmd_decap()
435 cmd->final = ((header[1] & 0x80) == 0x80); /* Final bit */ in iscsi_text_cmd_decap()
436 cmd->cont = ((header[1] & 0x40) == 0x40); /* Continue bit */ in iscsi_text_cmd_decap()
437 cmd->length = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 4))); /* Length */ in iscsi_text_cmd_decap()
438 cmd->lun = ISCSI_NTOHLL(*((uint64_t *) (void *) (header + 8))); /* LUN */ in iscsi_text_cmd_decap()
439 cmd->tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 16))); /* Tag */ in iscsi_text_cmd_decap()
440 cmd->transfer_tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 20))); /* Transfer Tag */ in iscsi_text_cmd_decap()
441 cmd->CmdSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 24))); /* CmdSN */ in iscsi_text_cmd_decap()
442 cmd->ExpStatSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 28))); /* ExpStatSN */ in iscsi_text_cmd_decap()
460 iscsi_trace(TRACE_ISCSI_ARGS, "Immediate: %d\n", cmd->immediate); in iscsi_text_cmd_decap()
461 iscsi_trace(TRACE_ISCSI_ARGS, "Final: %d\n", cmd->final); in iscsi_text_cmd_decap()
462 iscsi_trace(TRACE_ISCSI_ARGS, "Continue: %d\n", cmd->cont); in iscsi_text_cmd_decap()
463 iscsi_trace(TRACE_ISCSI_ARGS, "Length: %u\n", cmd->length); in iscsi_text_cmd_decap()
464 iscsi_trace(TRACE_ISCSI_ARGS, "LUN: %" PRIu64 "\n", cmd->lun); in iscsi_text_cmd_decap()
465 iscsi_trace(TRACE_ISCSI_ARGS, "Tag: %#x\n", cmd->tag); in iscsi_text_cmd_decap()
466 iscsi_trace(TRACE_ISCSI_ARGS, "Transfer Tag: %#x\n", cmd->transfer_tag); in iscsi_text_cmd_decap()
467 iscsi_trace(TRACE_ISCSI_ARGS, "CmdSN: %u\n", cmd->CmdSN); in iscsi_text_cmd_decap()
468 iscsi_trace(TRACE_ISCSI_ARGS, "ExpStatSN: %u\n", cmd->ExpStatSN); in iscsi_text_cmd_decap()
566 iscsi_login_cmd_encap(uint8_t *header, iscsi_login_cmd_args_t * cmd) in iscsi_login_cmd_encap() argument
570 iscsi_trace(TRACE_ISCSI_ARGS, "Transit: %d\n", cmd->transit); in iscsi_login_cmd_encap()
571 iscsi_trace(TRACE_ISCSI_ARGS, "Continue: %d\n", cmd->cont); in iscsi_login_cmd_encap()
572 iscsi_trace(TRACE_ISCSI_ARGS, "CSG: %u\n", cmd->csg); in iscsi_login_cmd_encap()
573 iscsi_trace(TRACE_ISCSI_ARGS, "NSG: %u\n", cmd->nsg); in iscsi_login_cmd_encap()
574 iscsi_trace(TRACE_ISCSI_ARGS, "Version_min: %u\n", cmd->version_min); in iscsi_login_cmd_encap()
575 iscsi_trace(TRACE_ISCSI_ARGS, "Version_max: %u\n", cmd->version_max); in iscsi_login_cmd_encap()
576 iscsi_trace(TRACE_ISCSI_ARGS, "TotalAHSLength: %u\n", cmd->AHSlength); in iscsi_login_cmd_encap()
577 iscsi_trace(TRACE_ISCSI_ARGS, "DataSegmentLength: %u\n", cmd->length); in iscsi_login_cmd_encap()
578 iscsi_trace(TRACE_ISCSI_ARGS, "ISID: %" PRIu64 "\n", cmd->isid); in iscsi_login_cmd_encap()
579 iscsi_trace(TRACE_ISCSI_ARGS, "TSIH: %hu\n", cmd->tsih); in iscsi_login_cmd_encap()
580 iscsi_trace(TRACE_ISCSI_ARGS, "Task Tag: %#x\n", cmd->tag); in iscsi_login_cmd_encap()
581 iscsi_trace(TRACE_ISCSI_ARGS, "CID: %hu\n", cmd->cid); in iscsi_login_cmd_encap()
582 iscsi_trace(TRACE_ISCSI_ARGS, "CmdSN: %u\n", cmd->CmdSN); in iscsi_login_cmd_encap()
583 iscsi_trace(TRACE_ISCSI_ARGS, "ExpStatSN: %u\n", cmd->ExpStatSN); in iscsi_login_cmd_encap()
588 if (cmd->transit) { in iscsi_login_cmd_encap()
591 if (cmd->cont) { in iscsi_login_cmd_encap()
594 header[1] |= ((cmd->csg) << 2) & 0x0c; /* CSG */ in iscsi_login_cmd_encap()
595 header[1] |= (cmd->nsg) & 0x03; /* NSG */ in iscsi_login_cmd_encap()
596 header[2] = cmd->version_max; /* Version-Max */ in iscsi_login_cmd_encap()
597 header[3] = cmd->version_min; /* Version-Min */ in iscsi_login_cmd_encap()
598 header[4] = cmd->AHSlength; /* TotalAHSLength */ in iscsi_login_cmd_encap()
599 length = (cmd->length & 0x00ffffff); /* Length */ in iscsi_login_cmd_encap()
601 *((uint64_t *) (void *) (header + 8)) = ISCSI_HTONLL(cmd->isid << 16); /* ISID */ in iscsi_login_cmd_encap()
602 *((uint16_t *) (void *) (header + 14)) = ISCSI_HTONS(cmd->tsih); /* TSIH */ in iscsi_login_cmd_encap()
603 *((uint32_t *) (void *) (header + 16)) = ISCSI_HTONL(cmd->tag); /* Task Tag */ in iscsi_login_cmd_encap()
604 *((uint16_t *) (void *) (header + 20)) = ISCSI_HTONS(cmd->cid); /* CID */ in iscsi_login_cmd_encap()
605 *((uint32_t *) (void *) (header + 24)) = ISCSI_HTONL(cmd->CmdSN); /* CmdSN */ in iscsi_login_cmd_encap()
606 *((uint32_t *) (void *) (header + 28)) = ISCSI_HTONL(cmd->ExpStatSN); /* ExpStatSN */ in iscsi_login_cmd_encap()
612 iscsi_login_cmd_decap(uint8_t *header, iscsi_login_cmd_args_t * cmd) in iscsi_login_cmd_decap() argument
621 cmd->transit = (header[1] & 0x80) ? 1 : 0; /* Transit */ in iscsi_login_cmd_decap()
622 cmd->cont = (header[1] & 0x40) ? 1 : 0; /* Continue */ in iscsi_login_cmd_decap()
623 cmd->csg = (header[1] & 0x0cU) >> 2; /* CSG */ in iscsi_login_cmd_decap()
624 cmd->nsg = header[1] & 0x03; /* NSG */ in iscsi_login_cmd_decap()
625 cmd->version_max = header[2]; /* Version-Max */ in iscsi_login_cmd_decap()
626 cmd->version_min = header[3]; /* Version-Min */ in iscsi_login_cmd_decap()
627 cmd->AHSlength = header[4]; /* TotalAHSLength */ in iscsi_login_cmd_decap()
628 cmd->length = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 4))); /* Length */ in iscsi_login_cmd_decap()
629 cmd->isid = ISCSI_NTOHLL(*((uint64_t *) (void *) (header + 8))) >> 16; /* ISID */ in iscsi_login_cmd_decap()
630 cmd->tsih = ISCSI_NTOHS(*((uint16_t *) (void *) (header + 14))); /* TSIH */ in iscsi_login_cmd_decap()
631 cmd->tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 16))); /* Task Tag */ in iscsi_login_cmd_decap()
632 cmd->cid = ISCSI_NTOHS(*((uint16_t *) (void *) (header + 20))); /* CID */ in iscsi_login_cmd_decap()
633 cmd->CmdSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 24))); /* CmdSN */ in iscsi_login_cmd_decap()
634 cmd->ExpStatSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 28))); /* ExpStatSN */ in iscsi_login_cmd_decap()
636 iscsi_trace(TRACE_ISCSI_ARGS, "Transit: %d\n", cmd->transit); in iscsi_login_cmd_decap()
637 iscsi_trace(TRACE_ISCSI_ARGS, "Continue: %d\n", cmd->cont); in iscsi_login_cmd_decap()
638 iscsi_trace(TRACE_ISCSI_ARGS, "CSG: %u\n", cmd->csg); in iscsi_login_cmd_decap()
639 iscsi_trace(TRACE_ISCSI_ARGS, "NSG: %u\n", cmd->nsg); in iscsi_login_cmd_decap()
640 iscsi_trace(TRACE_ISCSI_ARGS, "Version_min: %u\n", cmd->version_min); in iscsi_login_cmd_decap()
641 iscsi_trace(TRACE_ISCSI_ARGS, "Version_max: %u\n", cmd->version_max); in iscsi_login_cmd_decap()
642 iscsi_trace(TRACE_ISCSI_ARGS, "TotalAHSLength: %u\n", cmd->AHSlength); in iscsi_login_cmd_decap()
643 iscsi_trace(TRACE_ISCSI_ARGS, "DataSegmentLength: %u\n", cmd->length); in iscsi_login_cmd_decap()
644 iscsi_trace(TRACE_ISCSI_ARGS, "ISID: %" PRIu64 "\n", cmd->isid); in iscsi_login_cmd_decap()
645 iscsi_trace(TRACE_ISCSI_ARGS, "TSIH: %hu\n", cmd->tsih); in iscsi_login_cmd_decap()
646 iscsi_trace(TRACE_ISCSI_ARGS, "Task Tag: %#x\n", cmd->tag); in iscsi_login_cmd_decap()
647 iscsi_trace(TRACE_ISCSI_ARGS, "CID: %hu\n", cmd->cid); in iscsi_login_cmd_decap()
648 iscsi_trace(TRACE_ISCSI_ARGS, "CmdSN: %u\n", cmd->CmdSN); in iscsi_login_cmd_decap()
649 iscsi_trace(TRACE_ISCSI_ARGS, "ExpStatSN: %u\n", cmd->ExpStatSN); in iscsi_login_cmd_decap()
665 if (cmd->transit) { in iscsi_login_cmd_decap()
666 if (cmd->nsg <= cmd->csg) { in iscsi_login_cmd_decap()
669 if ((cmd->nsg != 0) && (cmd->nsg != 1) && (cmd->nsg != 3)) { in iscsi_login_cmd_decap()
799 iscsi_logout_cmd_encap(uint8_t *header, iscsi_logout_cmd_args_t * cmd) in iscsi_logout_cmd_encap() argument
802 iscsi_trace(TRACE_ISCSI_ARGS, "Immediate: %d\n", cmd->immediate); in iscsi_logout_cmd_encap()
803 iscsi_trace(TRACE_ISCSI_ARGS, "Reason: %u\n", cmd->reason); in iscsi_logout_cmd_encap()
804 iscsi_trace(TRACE_ISCSI_ARGS, "Task Tag: %#x\n", cmd->tag); in iscsi_logout_cmd_encap()
805 iscsi_trace(TRACE_ISCSI_ARGS, "CID: %hu\n", cmd->cid); in iscsi_logout_cmd_encap()
806 iscsi_trace(TRACE_ISCSI_ARGS, "CmdSN: %u\n", cmd->CmdSN); in iscsi_logout_cmd_encap()
807 iscsi_trace(TRACE_ISCSI_ARGS, "ExpStatSN: %u\n", cmd->ExpStatSN); in iscsi_logout_cmd_encap()
812 if (cmd->immediate) { in iscsi_logout_cmd_encap()
815 header[1] = cmd->reason | 0x80; /* Reason */ in iscsi_logout_cmd_encap()
816 *((uint32_t *) (void *) (header + 16)) = ISCSI_HTONL(cmd->tag); /* Tag */ in iscsi_logout_cmd_encap()
817 *((uint16_t *) (void *) (header + 20)) = ISCSI_HTONS(cmd->cid); /* CID */ in iscsi_logout_cmd_encap()
818 *((uint32_t *) (void *) (header + 24)) = ISCSI_HTONL(cmd->CmdSN); /* CmdSN */ in iscsi_logout_cmd_encap()
819 *((uint32_t *) (void *) (header + 28)) = ISCSI_HTONL(cmd->ExpStatSN); /* ExpStatSN */ in iscsi_logout_cmd_encap()
825 iscsi_logout_cmd_decap(uint8_t *header, iscsi_logout_cmd_args_t * cmd) in iscsi_logout_cmd_decap() argument
834 cmd->immediate = (header[0] & 0x40) ? 1 : 0; /* Immediate */ in iscsi_logout_cmd_decap()
835 cmd->reason = header[1] & 0x7f; /* Reason */ in iscsi_logout_cmd_decap()
836 cmd->tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 16))); /* Tag */ in iscsi_logout_cmd_decap()
837 cmd->cid = ISCSI_NTOHS(*((uint16_t *) (void *) (header + 20))); /* CID */ in iscsi_logout_cmd_decap()
838 cmd->CmdSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 24))); /* CmdSN */ in iscsi_logout_cmd_decap()
839 cmd->ExpStatSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 28))); /* ExpStatSN */ in iscsi_logout_cmd_decap()
841 iscsi_trace(TRACE_ISCSI_ARGS, "Immediate: %d\n", cmd->immediate); in iscsi_logout_cmd_decap()
842 iscsi_trace(TRACE_ISCSI_ARGS, "Reason: %u\n", cmd->reason); in iscsi_logout_cmd_decap()
843 iscsi_trace(TRACE_ISCSI_ARGS, "Task Tag: %#x\n", cmd->tag); in iscsi_logout_cmd_decap()
845 iscsi_trace(TRACE_ISCSI_ARGS, "CID: %hu\n", cmd->cid); in iscsi_logout_cmd_decap()
846 iscsi_trace(TRACE_ISCSI_ARGS, "CmdSN: %u\n", cmd->CmdSN); in iscsi_logout_cmd_decap()
847 iscsi_trace(TRACE_ISCSI_ARGS, "ExpStatSN: %u\n", cmd->ExpStatSN); in iscsi_logout_cmd_decap()
965 iscsi_scsi_cmd_encap(uint8_t *header, iscsi_scsi_cmd_args_t * cmd) in iscsi_scsi_cmd_encap() argument
968 iscsi_trace(TRACE_ISCSI_ARGS, "Immediate: %d\n", cmd->immediate); in iscsi_scsi_cmd_encap()
969 iscsi_trace(TRACE_ISCSI_ARGS, "Final: %d\n", cmd->final); in iscsi_scsi_cmd_encap()
970 iscsi_trace(TRACE_ISCSI_ARGS, "Input: %d\n", cmd->input); in iscsi_scsi_cmd_encap()
971 iscsi_trace(TRACE_ISCSI_ARGS, "Output: %d\n", cmd->output); in iscsi_scsi_cmd_encap()
972 iscsi_trace(TRACE_ISCSI_ARGS, "ATTR: %d\n", cmd->attr); in iscsi_scsi_cmd_encap()
973 iscsi_trace(TRACE_ISCSI_ARGS, "TotalAHSLength: %u\n", cmd->ahs_len); in iscsi_scsi_cmd_encap()
974 iscsi_trace(TRACE_ISCSI_ARGS, "DataSegmentLength: %u\n", cmd->length); in iscsi_scsi_cmd_encap()
975 iscsi_trace(TRACE_ISCSI_ARGS, "LUN: %" PRIu64 "\n", cmd->lun); in iscsi_scsi_cmd_encap()
976 iscsi_trace(TRACE_ISCSI_ARGS, "Task Tag: %#x\n", cmd->tag); in iscsi_scsi_cmd_encap()
977 iscsi_trace(TRACE_ISCSI_ARGS, "Transfer Length: %u\n", cmd->trans_len); in iscsi_scsi_cmd_encap()
978 iscsi_trace(TRACE_ISCSI_ARGS, "CmdSN: %u\n", cmd->CmdSN); in iscsi_scsi_cmd_encap()
979 iscsi_trace(TRACE_ISCSI_ARGS, "ExpStatSN: %u\n", cmd->ExpStatSN); in iscsi_scsi_cmd_encap()
980 iscsi_trace(TRACE_ISCSI_ARGS, "CDB: %#x\n", cmd->cdb[0]); in iscsi_scsi_cmd_encap()
985 if (cmd->immediate) { in iscsi_scsi_cmd_encap()
988 if (cmd->final) { in iscsi_scsi_cmd_encap()
991 if (cmd->input) { in iscsi_scsi_cmd_encap()
994 if (cmd->output) { in iscsi_scsi_cmd_encap()
997 header[1] |= cmd->attr & 0x07; /* ATTR */ in iscsi_scsi_cmd_encap()
998 *((uint32_t *) (void *) (header + 4)) = ISCSI_HTONL(cmd->length); /* DataSegmentLength */ in iscsi_scsi_cmd_encap()
999 header[4] = cmd->ahs_len; /* TotalAHSLength */ in iscsi_scsi_cmd_encap()
1000 *((uint64_t *) (void *) (header + 8)) = ISCSI_HTONLL(cmd->lun); /* LUN */ in iscsi_scsi_cmd_encap()
1001 *((uint32_t *) (void *) (header + 16)) = ISCSI_HTONL(cmd->tag); /* Task Tag */ in iscsi_scsi_cmd_encap()
1002 *((uint32_t *) (void *) (header + 20)) = ISCSI_HTONL(cmd->trans_len); /* Expected Transfer in iscsi_scsi_cmd_encap()
1004 *((uint32_t *) (void *) (header + 24)) = ISCSI_HTONL(cmd->CmdSN); /* CmdSN */ in iscsi_scsi_cmd_encap()
1005 *((uint32_t *) (void *) (header + 28)) = ISCSI_HTONL(cmd->ExpStatSN); /* ExpStatSN */ in iscsi_scsi_cmd_encap()
1006 memcpy(header + 32, cmd->cdb, 16); /* CDB */ in iscsi_scsi_cmd_encap()
1012 iscsi_scsi_cmd_decap(uint8_t *header, iscsi_scsi_cmd_args_t * cmd) in iscsi_scsi_cmd_decap() argument
1020 cmd->immediate = (header[0] & 0x40) ? 1 : 0; /* Immediate */ in iscsi_scsi_cmd_decap()
1021 cmd->final = (header[1] & 0x80) ? 1 : 0; /* Final */ in iscsi_scsi_cmd_decap()
1022 cmd->input = (header[1] & 0x40) ? 1 : 0; /* Input */ in iscsi_scsi_cmd_decap()
1023 cmd->output = (header[1] & 0x20) ? 1 : 0; /* Output */ in iscsi_scsi_cmd_decap()
1024 cmd->attr = header[1] & 0x07; /* ATTR */ in iscsi_scsi_cmd_decap()
1025 cmd->ahs_len = header[4]; in iscsi_scsi_cmd_decap()
1027 cmd->length = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 4))); /* DataSegmentLength */ in iscsi_scsi_cmd_decap()
1028 cmd->lun = ISCSI_NTOHLL(*((uint64_t *) (void *) (header + 8))); /* LUN */ in iscsi_scsi_cmd_decap()
1029 cmd->tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 16))); /* Task Tag */ in iscsi_scsi_cmd_decap()
1030 cmd->trans_len = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 20))); /* Expected Transfer in iscsi_scsi_cmd_decap()
1032 cmd->CmdSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 24))); /* CmdSN */ in iscsi_scsi_cmd_decap()
1033 cmd->ExpStatSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 28))); /* ExpStatSN */ in iscsi_scsi_cmd_decap()
1034 cmd->cdb = header + 32; /* CDB */ in iscsi_scsi_cmd_decap()
1049 iscsi_trace(TRACE_ISCSI_ARGS, "Immediate: %d\n", cmd->immediate); in iscsi_scsi_cmd_decap()
1050 iscsi_trace(TRACE_ISCSI_ARGS, "Final: %d\n", cmd->final); in iscsi_scsi_cmd_decap()
1051 iscsi_trace(TRACE_ISCSI_ARGS, "Input: %d\n", cmd->input); in iscsi_scsi_cmd_decap()
1052 iscsi_trace(TRACE_ISCSI_ARGS, "Output: %d\n", cmd->output); in iscsi_scsi_cmd_decap()
1053 iscsi_trace(TRACE_ISCSI_ARGS, "ATTR: %d\n", cmd->attr); in iscsi_scsi_cmd_decap()
1054 iscsi_trace(TRACE_ISCSI_ARGS, "TotalAHSLength: %u\n", cmd->ahs_len); in iscsi_scsi_cmd_decap()
1055 iscsi_trace(TRACE_ISCSI_ARGS, "DataSegmentLength: %u\n", cmd->length); in iscsi_scsi_cmd_decap()
1056 iscsi_trace(TRACE_ISCSI_ARGS, "LUN: %" PRIu64 "\n", cmd->lun); in iscsi_scsi_cmd_decap()
1057 iscsi_trace(TRACE_ISCSI_ARGS, "Task Tag: %#x\n", cmd->tag); in iscsi_scsi_cmd_decap()
1058 iscsi_trace(TRACE_ISCSI_ARGS, "Transfer Length: %u\n", cmd->trans_len); in iscsi_scsi_cmd_decap()
1059 iscsi_trace(TRACE_ISCSI_ARGS, "CmdSN: %u\n", cmd->CmdSN); in iscsi_scsi_cmd_decap()
1060 iscsi_trace(TRACE_ISCSI_ARGS, "ExpStatSN: %u\n", cmd->ExpStatSN); in iscsi_scsi_cmd_decap()
1061 iscsi_trace(TRACE_ISCSI_ARGS, "CDB: %#x\n", cmd->cdb[0]); in iscsi_scsi_cmd_decap()
1189 iscsi_r2t_encap(uint8_t *header, iscsi_r2t_t * cmd) in iscsi_r2t_encap() argument
1193 iscsi_trace(TRACE_ISCSI_ARGS, "TotalAHSLength: %u\n", cmd->AHSlength); in iscsi_r2t_encap()
1194 iscsi_trace(TRACE_ISCSI_ARGS, "LUN: %" PRIu64 "\n", cmd->lun); in iscsi_r2t_encap()
1195 iscsi_trace(TRACE_ISCSI_ARGS, "Tag: %#x\n", cmd->tag); in iscsi_r2t_encap()
1196 iscsi_trace(TRACE_ISCSI_ARGS, "Transfer Tag: %#x\n", cmd->transfer_tag); in iscsi_r2t_encap()
1197 iscsi_trace(TRACE_ISCSI_ARGS, "StatSN: %u\n", cmd->StatSN); in iscsi_r2t_encap()
1198 iscsi_trace(TRACE_ISCSI_ARGS, "ExpCmdSN: %u\n", cmd->ExpCmdSN); in iscsi_r2t_encap()
1199 iscsi_trace(TRACE_ISCSI_ARGS, "MaxCmdSN: %u\n", cmd->MaxCmdSN); in iscsi_r2t_encap()
1200 iscsi_trace(TRACE_ISCSI_ARGS, "R2TSN: %u\n", cmd->R2TSN); in iscsi_r2t_encap()
1201 iscsi_trace(TRACE_ISCSI_ARGS, "Offset: %u\n", cmd->offset); in iscsi_r2t_encap()
1202 iscsi_trace(TRACE_ISCSI_ARGS, "Length: %u\n", cmd->length); in iscsi_r2t_encap()
1208 length = (cmd->AHSlength & 0x00ffffff); /* AHSLength */ in iscsi_r2t_encap()
1210 *((uint64_t *) (void *) (header + 8)) = ISCSI_HTONLL(cmd->lun); /* LUN */ in iscsi_r2t_encap()
1211 *((uint32_t *) (void *) (header + 16)) = ISCSI_HTONL(cmd->tag); /* Tag */ in iscsi_r2t_encap()
1212 *((uint32_t *) (void *) (header + 20)) = ISCSI_HTONL(cmd->transfer_tag); /* Transfer Tag */ in iscsi_r2t_encap()
1213 *((uint32_t *) (void *) (header + 24)) = ISCSI_HTONL(cmd->StatSN); /* StatSN */ in iscsi_r2t_encap()
1214 *((uint32_t *) (void *) (header + 28)) = ISCSI_HTONL(cmd->ExpCmdSN); /* ExpCmdSN */ in iscsi_r2t_encap()
1215 *((uint32_t *) (void *) (header + 32)) = ISCSI_HTONL(cmd->MaxCmdSN); /* MaxCmdSN */ in iscsi_r2t_encap()
1216 *((uint32_t *) (void *) (header + 36)) = ISCSI_HTONL(cmd->R2TSN); /* R2TSN */ in iscsi_r2t_encap()
1217 *((uint32_t *) (void *) (header + 40)) = ISCSI_HTONL(cmd->offset); /* Buffer Offset */ in iscsi_r2t_encap()
1218 *((uint32_t *) (void *) (header + 44)) = ISCSI_HTONL(cmd->length); /* Transfer Length */ in iscsi_r2t_encap()
1224 iscsi_r2t_decap(uint8_t *header, iscsi_r2t_t * cmd) in iscsi_r2t_decap() argument
1233 cmd->AHSlength = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 4))); /* TotalAHSLength */ in iscsi_r2t_decap()
1234 cmd->lun = ISCSI_NTOHLL(*((uint64_t *) (void *) (header + 8))); /* LUN */ in iscsi_r2t_decap()
1235 cmd->tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 16))); in iscsi_r2t_decap()
1236 cmd->transfer_tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 20))); in iscsi_r2t_decap()
1237 cmd->StatSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 24))); in iscsi_r2t_decap()
1238 cmd->ExpCmdSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 28))); in iscsi_r2t_decap()
1239 cmd->MaxCmdSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 32))); in iscsi_r2t_decap()
1240 cmd->R2TSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 36))); in iscsi_r2t_decap()
1241 cmd->offset = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 40))); in iscsi_r2t_decap()
1242 cmd->length = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 44))); in iscsi_r2t_decap()
1260 iscsi_trace(TRACE_ISCSI_ARGS, "AHSLength: %u\n", cmd->AHSlength); in iscsi_r2t_decap()
1261 iscsi_trace(TRACE_ISCSI_ARGS, "LUN: %" PRIu64 "\n", cmd->lun); in iscsi_r2t_decap()
1262 iscsi_trace(TRACE_ISCSI_ARGS, "Tag: %#x\n", cmd->tag); in iscsi_r2t_decap()
1263 iscsi_trace(TRACE_ISCSI_ARGS, "Transfer Tag: %#x\n", cmd->transfer_tag); in iscsi_r2t_decap()
1264 iscsi_trace(TRACE_ISCSI_ARGS, "StatSN: %u\n", cmd->StatSN); in iscsi_r2t_decap()
1265 iscsi_trace(TRACE_ISCSI_ARGS, "ExpCmdSN: %u\n", cmd->ExpCmdSN); in iscsi_r2t_decap()
1266 iscsi_trace(TRACE_ISCSI_ARGS, "MaxCmdSN: %u\n", cmd->MaxCmdSN); in iscsi_r2t_decap()
1267 iscsi_trace(TRACE_ISCSI_ARGS, "R2TSN: %u\n", cmd->R2TSN); in iscsi_r2t_decap()
1268 iscsi_trace(TRACE_ISCSI_ARGS, "Offset: %u\n", cmd->offset); in iscsi_r2t_decap()
1269 iscsi_trace(TRACE_ISCSI_ARGS, "Length: %u\n", cmd->length); in iscsi_r2t_decap()
1278 iscsi_write_data_encap(uint8_t *header, iscsi_write_data_t * cmd) in iscsi_write_data_encap() argument
1281 iscsi_trace(TRACE_ISCSI_ARGS, "Final: %u\n", cmd->final); in iscsi_write_data_encap()
1282 iscsi_trace(TRACE_ISCSI_ARGS, "DataSegmentLength: %u\n", cmd->length); in iscsi_write_data_encap()
1283 iscsi_trace(TRACE_ISCSI_ARGS, "LUN: %" PRIu64 "\n", cmd->lun); in iscsi_write_data_encap()
1284 iscsi_trace(TRACE_ISCSI_ARGS, "Task Tag: %#x\n", cmd->tag); in iscsi_write_data_encap()
1285 iscsi_trace(TRACE_ISCSI_ARGS, "Transfer Tag: %#x\n", cmd->transfer_tag); in iscsi_write_data_encap()
1286 iscsi_trace(TRACE_ISCSI_ARGS, "ExpStatSN: %u\n", cmd->ExpStatSN); in iscsi_write_data_encap()
1287 iscsi_trace(TRACE_ISCSI_ARGS, "DataSN: %u\n", cmd->DataSN); in iscsi_write_data_encap()
1288 iscsi_trace(TRACE_ISCSI_ARGS, "Buffer Offset: %u\n", cmd->offset); in iscsi_write_data_encap()
1292 if (cmd->final) { in iscsi_write_data_encap()
1295 *((uint32_t *) (void *) (header + 4)) = ISCSI_HTONL(cmd->length); /* Length */ in iscsi_write_data_encap()
1296 *((uint64_t *) (void *) (header + 8)) = ISCSI_HTONLL(cmd->lun); /* LUN */ in iscsi_write_data_encap()
1297 *((uint32_t *) (void *) (header + 16)) = ISCSI_HTONL(cmd->tag); /* Tag */ in iscsi_write_data_encap()
1298 *((uint32_t *) (void *) (header + 20)) = ISCSI_HTONL(cmd->transfer_tag); /* Transfer Tag */ in iscsi_write_data_encap()
1299 *((uint32_t *) (void *) (header + 28)) = ISCSI_HTONL(cmd->ExpStatSN); /* ExpStatSN */ in iscsi_write_data_encap()
1300 *((uint32_t *) (void *) (header + 36)) = ISCSI_HTONL(cmd->DataSN); /* DataSN */ in iscsi_write_data_encap()
1301 *((uint32_t *) (void *) (header + 40)) = ISCSI_HTONL(cmd->offset); /* Buffer Offset */ in iscsi_write_data_encap()
1307 iscsi_write_data_decap(uint8_t *header, iscsi_write_data_t * cmd) in iscsi_write_data_decap() argument
1316 cmd->final = (header[1] & 0x80) ? 1 : 0; /* Final */ in iscsi_write_data_decap()
1317 cmd->length = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 4))); /* Length */ in iscsi_write_data_decap()
1318 cmd->lun = ISCSI_NTOHLL(*((uint64_t *) (void *) (header + 8))); /* LUN */ in iscsi_write_data_decap()
1319 cmd->tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 16))); /* Tag */ in iscsi_write_data_decap()
1320 cmd->transfer_tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 20))); /* Transfer Tag */ in iscsi_write_data_decap()
1321 cmd->ExpStatSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 28))); /* ExpStatSN */ in iscsi_write_data_decap()
1322 cmd->DataSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 36))); /* DataSN */ in iscsi_write_data_decap()
1323 cmd->offset = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 40))); /* Buffer Offset */ in iscsi_write_data_decap()
1347 iscsi_trace(TRACE_ISCSI_ARGS, "Final: %u\n", cmd->final); in iscsi_write_data_decap()
1348 iscsi_trace(TRACE_ISCSI_ARGS, "DataSegmentLength: %u\n", cmd->length); in iscsi_write_data_decap()
1349 iscsi_trace(TRACE_ISCSI_ARGS, "LUN: %" PRIu64 "\n", cmd->lun); in iscsi_write_data_decap()
1350 iscsi_trace(TRACE_ISCSI_ARGS, "Task Tag: %#x\n", cmd->tag); in iscsi_write_data_decap()
1351 iscsi_trace(TRACE_ISCSI_ARGS, "Transfer Tag: %#x\n", cmd->transfer_tag); in iscsi_write_data_decap()
1352 iscsi_trace(TRACE_ISCSI_ARGS, "ExpStatSN: %u\n", cmd->ExpStatSN); in iscsi_write_data_decap()
1353 iscsi_trace(TRACE_ISCSI_ARGS, "DataSN: %u\n", cmd->DataSN); in iscsi_write_data_decap()
1354 iscsi_trace(TRACE_ISCSI_ARGS, "Buffer Offset: %u\n", cmd->offset); in iscsi_write_data_decap()
1364 iscsi_read_data_encap(uint8_t *header, iscsi_read_data_t * cmd) in iscsi_read_data_encap() argument
1367 iscsi_trace(TRACE_ISCSI_ARGS, "Final: %d\n", cmd->final); in iscsi_read_data_encap()
1368 iscsi_trace(TRACE_ISCSI_ARGS, "Acknowledge: %d\n", cmd->ack); in iscsi_read_data_encap()
1369 iscsi_trace(TRACE_ISCSI_ARGS, "Overflow: %d\n", cmd->overflow); in iscsi_read_data_encap()
1370 iscsi_trace(TRACE_ISCSI_ARGS, "Underflow: %d\n", cmd->underflow); in iscsi_read_data_encap()
1371 iscsi_trace(TRACE_ISCSI_ARGS, "S_bit: %d\n", cmd->S_bit); in iscsi_read_data_encap()
1372 iscsi_trace(TRACE_ISCSI_ARGS, "Status: %u\n", cmd->status); in iscsi_read_data_encap()
1373 iscsi_trace(TRACE_ISCSI_ARGS, "DataSegmentLength: %u\n", cmd->length); in iscsi_read_data_encap()
1374 iscsi_trace(TRACE_ISCSI_ARGS, "LUN: %" PRIu64 "\n", cmd->lun); in iscsi_read_data_encap()
1375 iscsi_trace(TRACE_ISCSI_ARGS, "Task Tag: %#x\n", cmd->task_tag); in iscsi_read_data_encap()
1376 iscsi_trace(TRACE_ISCSI_ARGS, "Transfer Tag: %#x\n", cmd->transfer_tag); in iscsi_read_data_encap()
1377 iscsi_trace(TRACE_ISCSI_ARGS, "StatSN: %u\n", cmd->StatSN); in iscsi_read_data_encap()
1378 iscsi_trace(TRACE_ISCSI_ARGS, "ExpCmdSN: %u\n", cmd->ExpCmdSN); in iscsi_read_data_encap()
1379 iscsi_trace(TRACE_ISCSI_ARGS, "MaxCmdSN: %u\n", cmd->MaxCmdSN); in iscsi_read_data_encap()
1380 iscsi_trace(TRACE_ISCSI_ARGS, "DataSN: %u\n", cmd->DataSN); in iscsi_read_data_encap()
1381 iscsi_trace(TRACE_ISCSI_ARGS, "Buffer Offset %u\n", cmd->offset); in iscsi_read_data_encap()
1382 iscsi_trace(TRACE_ISCSI_ARGS, "Residual Count: %u\n", cmd->res_count); in iscsi_read_data_encap()
1387 if (cmd->final) { in iscsi_read_data_encap()
1390 if (cmd->ack) { in iscsi_read_data_encap()
1393 if (cmd->overflow) { in iscsi_read_data_encap()
1396 if (cmd->underflow) { in iscsi_read_data_encap()
1399 if (cmd->S_bit) { in iscsi_read_data_encap()
1402 if (cmd->S_bit) { in iscsi_read_data_encap()
1403 header[3] = cmd->status; /* Status */ in iscsi_read_data_encap()
1405 *((uint32_t *) (void *) (header + 4)) = ISCSI_HTONL(cmd->length); /* Length */ in iscsi_read_data_encap()
1406 *((uint64_t *) (void *) (header + 8)) = ISCSI_HTONLL(cmd->lun); /* LUN */ in iscsi_read_data_encap()
1407 *((uint32_t *) (void *) (header + 16)) = ISCSI_HTONL(cmd->task_tag); /* Task Tag */ in iscsi_read_data_encap()
1408 *((uint32_t *) (void *) (header + 20)) = ISCSI_HTONL(cmd->transfer_tag); /* Transfer Tag */ in iscsi_read_data_encap()
1409 if (cmd->S_bit) { in iscsi_read_data_encap()
1410 *((uint32_t *) (void *) (header + 24)) = ISCSI_HTONL(cmd->StatSN); /* StatSN */ in iscsi_read_data_encap()
1412 *((uint32_t *) (void *) (header + 28)) = ISCSI_HTONL(cmd->ExpCmdSN); /* ExpCmdSN */ in iscsi_read_data_encap()
1413 *((uint32_t *) (void *) (header + 32)) = ISCSI_HTONL(cmd->MaxCmdSN); /* MaxCmdSN */ in iscsi_read_data_encap()
1414 *((uint32_t *) (void *) (header + 36)) = ISCSI_HTONL(cmd->DataSN); /* DataSN */ in iscsi_read_data_encap()
1415 *((uint32_t *) (void *) (header + 40)) = ISCSI_HTONL(cmd->offset); /* Buffer Offset */ in iscsi_read_data_encap()
1416 if (cmd->S_bit) { in iscsi_read_data_encap()
1417 *((uint32_t *) (void *) (header + 44)) = ISCSI_HTONL(cmd->res_count); /* Residual Count */ in iscsi_read_data_encap()
1424 iscsi_read_data_decap(uint8_t *header, iscsi_read_data_t * cmd) in iscsi_read_data_decap() argument
1433 cmd->final = (header[1] & 0x80) ? 1 : 0; /* Final */ in iscsi_read_data_decap()
1434 cmd->ack = (header[1] & 0x40) ? 1 : 0; /* Acknowledge */ in iscsi_read_data_decap()
1435 cmd->overflow = (header[1] & 0x04) ? 1 : 0; /* Overflow */ in iscsi_read_data_decap()
1436 cmd->underflow = (header[1] & 0x02) ? 1 : 0; /* Underflow */ in iscsi_read_data_decap()
1437 cmd->S_bit = (header[1] & 0x01) ? 1 : 0; /* S Bit */ in iscsi_read_data_decap()
1438 cmd->status = header[3];/* Status */ in iscsi_read_data_decap()
1439 cmd->length = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 4))); /* Length */ in iscsi_read_data_decap()
1440 cmd->lun = ISCSI_NTOHLL(*((uint64_t *) (void *) (header + 8))); /* LUN */ in iscsi_read_data_decap()
1441 cmd->task_tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 16))); /* Task Tag */ in iscsi_read_data_decap()
1442 cmd->transfer_tag = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 20))); /* Transfer Tag */ in iscsi_read_data_decap()
1443 cmd->StatSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 24))); /* StatSN */ in iscsi_read_data_decap()
1444 cmd->ExpCmdSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 28))); /* ExpCmdSN */ in iscsi_read_data_decap()
1445 cmd->MaxCmdSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 32))); /* MaxCmdSN */ in iscsi_read_data_decap()
1446 cmd->DataSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 36))); /* DataSN */ in iscsi_read_data_decap()
1447 cmd->offset = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 40))); /* Buffer Offset */ in iscsi_read_data_decap()
1448 cmd->res_count = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 44))); /* Residual Count */ in iscsi_read_data_decap()
1461 } else if (!cmd->underflow && memcmp(header + 44, zeros, 4) != 0) { in iscsi_read_data_decap()
1469 iscsi_trace(TRACE_ISCSI_ARGS, "Final: %d\n", cmd->final); in iscsi_read_data_decap()
1470 iscsi_trace(TRACE_ISCSI_ARGS, "Acknowledge: %d\n", cmd->ack); in iscsi_read_data_decap()
1471 iscsi_trace(TRACE_ISCSI_ARGS, "Overflow: %d\n", cmd->overflow); in iscsi_read_data_decap()
1472 iscsi_trace(TRACE_ISCSI_ARGS, "Underflow: %d\n", cmd->underflow); in iscsi_read_data_decap()
1473 iscsi_trace(TRACE_ISCSI_ARGS, "S_bit: %d\n", cmd->S_bit); in iscsi_read_data_decap()
1474 iscsi_trace(TRACE_ISCSI_ARGS, "Status: %u\n", cmd->status); in iscsi_read_data_decap()
1475 iscsi_trace(TRACE_ISCSI_ARGS, "DataSegmentLength: %u\n", cmd->length); in iscsi_read_data_decap()
1476 iscsi_trace(TRACE_ISCSI_ARGS, "Task Tag: %#x\n", cmd->task_tag); in iscsi_read_data_decap()
1477 iscsi_trace(TRACE_ISCSI_ARGS, "Residual Count: %u\n", cmd->res_count); in iscsi_read_data_decap()
1478 iscsi_trace(TRACE_ISCSI_ARGS, "StatSN: %u\n", cmd->StatSN); in iscsi_read_data_decap()
1479 iscsi_trace(TRACE_ISCSI_ARGS, "ExpCmdSN: %u\n", cmd->ExpCmdSN); in iscsi_read_data_decap()
1480 iscsi_trace(TRACE_ISCSI_ARGS, "MaxCmdSN: %u\n", cmd->MaxCmdSN); in iscsi_read_data_decap()
1481 iscsi_trace(TRACE_ISCSI_ARGS, "DataSN: %u\n", cmd->DataSN); in iscsi_read_data_decap()
1482 iscsi_trace(TRACE_ISCSI_ARGS, "Buffer Offset %u\n", cmd->offset); in iscsi_read_data_decap()
1491 iscsi_reject_encap(uint8_t *header, iscsi_reject_t * cmd) in iscsi_reject_encap() argument
1494 iscsi_trace(TRACE_ISCSI_ARGS, "Reason: %u\n", cmd->reason); in iscsi_reject_encap()
1495 iscsi_trace(TRACE_ISCSI_ARGS, "Length: %u\n", cmd->length); in iscsi_reject_encap()
1496 iscsi_trace(TRACE_ISCSI_ARGS, "StatSN: %u\n", cmd->StatSN); in iscsi_reject_encap()
1497 iscsi_trace(TRACE_ISCSI_ARGS, "ExpCmdSN: %u\n", cmd->ExpCmdSN); in iscsi_reject_encap()
1498 iscsi_trace(TRACE_ISCSI_ARGS, "MaxCmdSN: %u\n", cmd->MaxCmdSN); in iscsi_reject_encap()
1499 iscsi_trace(TRACE_ISCSI_ARGS, "DataSN: %u\n", cmd->DataSN); in iscsi_reject_encap()
1505 header[2] = cmd->reason;/* Reason */ in iscsi_reject_encap()
1506 *((uint32_t *) (void *) (header + 4)) = ISCSI_HTONL(cmd->length); /* Length */ in iscsi_reject_encap()
1507 *((uint32_t *) (void *) (header + 24)) = ISCSI_HTONL(cmd->StatSN); /* StatSN */ in iscsi_reject_encap()
1508 *((uint32_t *) (void *) (header + 28)) = ISCSI_HTONL(cmd->ExpCmdSN); /* ExpCmdSN */ in iscsi_reject_encap()
1509 *((uint32_t *) (void *) (header + 32)) = ISCSI_HTONL(cmd->MaxCmdSN); /* MaxCmdSN */ in iscsi_reject_encap()
1510 *((uint32_t *) (void *) (header + 36)) = ISCSI_HTONL(cmd->DataSN); /* DataSN */ in iscsi_reject_encap()
1516 iscsi_reject_decap(uint8_t *header, iscsi_reject_t * cmd) in iscsi_reject_decap() argument
1525 cmd->reason = header[2];/* Reason */ in iscsi_reject_decap()
1526 cmd->length = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 4))); /* Length */ in iscsi_reject_decap()
1527 cmd->StatSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 24))); /* StatSN */ in iscsi_reject_decap()
1528 cmd->ExpCmdSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 28))); /* ExpCmdSN */ in iscsi_reject_decap()
1529 cmd->MaxCmdSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 32))); /* MaxCmdSN */ in iscsi_reject_decap()
1530 cmd->DataSN = ISCSI_NTOHL(*((uint32_t *) (void *) (header + 36))); /* DataSN */ in iscsi_reject_decap()
1554 iscsi_trace(TRACE_ISCSI_ARGS, "Reason: %u\n", cmd->reason); in iscsi_reject_decap()
1555 iscsi_trace(TRACE_ISCSI_ARGS, "Length: %u\n", cmd->length); in iscsi_reject_decap()
1556 iscsi_trace(TRACE_ISCSI_ARGS, "StatSN: %u\n", cmd->StatSN); in iscsi_reject_decap()
1557 iscsi_trace(TRACE_ISCSI_ARGS, "ExpCmdSN: %u\n", cmd->ExpCmdSN); in iscsi_reject_decap()
1558 iscsi_trace(TRACE_ISCSI_ARGS, "MaxCmdSN: %u\n", cmd->MaxCmdSN); in iscsi_reject_decap()
1559 iscsi_trace(TRACE_ISCSI_ARGS, "DataSN: %u\n", cmd->DataSN); in iscsi_reject_decap()