sbin/scsi/libscsi.c
1005
scsi_debug(FILE *f, int ret, scsireq_t *scsireq)
sbin/scsi/libscsi.c
1027
if (ret == 0 && (scsireq->status || scsireq->retsts || behave.db_level))
sbin/scsi/libscsi.c
1029
scsi_retsts_dump(f, scsireq);
sbin/scsi/libscsi.c
1031
if (scsireq->status)
sbin/scsi/libscsi.c
1032
fprintf(f, " host adapter status %d\n", scsireq->status);
sbin/scsi/libscsi.c
1034
if (scsireq->flags & SCCMD_READ)
sbin/scsi/libscsi.c
1036
else if (scsireq->flags & SCCMD_WRITE)
sbin/scsi/libscsi.c
1041
if (scsireq->cmdlen == 0)
sbin/scsi/libscsi.c
1045
(u_char *)scsireq->cmd, scsireq->cmdlen, scsireq->cmdlen, 0);
sbin/scsi/libscsi.c
1047
(u_char *)scsireq->databuf, scsireq->datalen,
sbin/scsi/libscsi.c
1048
scsireq->datalen_used, 1);
sbin/scsi/libscsi.c
1049
scsi_sense_dump(f, scsireq);
sbin/scsi/libscsi.c
1082
scsireq_enter(int fid, scsireq_t *scsireq)
sbin/scsi/libscsi.c
1086
ret = ioctl(fid, SCIOCCOMMAND, (void *)scsireq);
sbin/scsi/libscsi.c
1089
scsi_debug(behave.db_f, ret, scsireq);
sbin/scsi/libscsi.c
341
scsireq_decode_visit(scsireq_t *scsireq, char *fmt,
sbin/scsi/libscsi.c
347
ret = do_buff_decode(scsireq->databuf, (size_t)scsireq->datalen,
sbin/scsi/libscsi.c
56
scsireq_reset(scsireq_t *scsireq)
sbin/scsi/libscsi.c
58
if (scsireq == 0)
sbin/scsi/libscsi.c
59
return scsireq;
sbin/scsi/libscsi.c
61
scsireq->flags = 0; /* info about the request status and type */
sbin/scsi/libscsi.c
62
scsireq->timeout = 2000; /* 2 seconds */
sbin/scsi/libscsi.c
63
bzero(scsireq->cmd, sizeof(scsireq->cmd));
sbin/scsi/libscsi.c
64
scsireq->cmdlen = 0;
sbin/scsi/libscsi.c
67
scsireq->datalen_used = 0;
sbin/scsi/libscsi.c
68
bzero(scsireq->sense, sizeof(scsireq->sense));
sbin/scsi/libscsi.c
684
scsireq_build(scsireq_t *scsireq, u_long datalen, caddr_t databuf,
sbin/scsi/libscsi.c
69
scsireq->senselen = sizeof(scsireq->sense);
sbin/scsi/libscsi.c
690
if (scsireq == 0)
sbin/scsi/libscsi.c
693
scsireq_reset(scsireq);
sbin/scsi/libscsi.c
696
scsireq->databuf = databuf;
sbin/scsi/libscsi.c
697
scsireq->datalen = datalen;
sbin/scsi/libscsi.c
698
scsireq->flags = flags;
sbin/scsi/libscsi.c
70
scsireq->senselen_used = 0;
sbin/scsi/libscsi.c
704
if ( (scsireq->databuf = malloc(datalen)) == NULL)
sbin/scsi/libscsi.c
707
scsireq->datalen = datalen;
sbin/scsi/libscsi.c
708
scsireq->flags = flags;
sbin/scsi/libscsi.c
71
scsireq->status = 0;
sbin/scsi/libscsi.c
713
if (do_encode(scsireq->cmd, CMDBUFLEN, &cmdlen, 0, 0, cmd_spec, ap) == -1)
sbin/scsi/libscsi.c
717
scsireq->cmdlen = cmdlen;
sbin/scsi/libscsi.c
718
return scsireq;
sbin/scsi/libscsi.c
72
scsireq->retsts = 0;
sbin/scsi/libscsi.c
722
*scsireq_build_visit(scsireq_t *scsireq, u_long datalen, caddr_t databuf,
sbin/scsi/libscsi.c
729
if (scsireq == 0)
sbin/scsi/libscsi.c
73
scsireq->error = 0;
sbin/scsi/libscsi.c
732
scsireq_reset(scsireq);
sbin/scsi/libscsi.c
735
scsireq->databuf = databuf;
sbin/scsi/libscsi.c
736
scsireq->datalen = datalen;
sbin/scsi/libscsi.c
737
scsireq->flags = flags;
sbin/scsi/libscsi.c
742
if ( (scsireq->databuf = malloc(datalen)) == NULL)
sbin/scsi/libscsi.c
745
scsireq->datalen = datalen;
sbin/scsi/libscsi.c
746
scsireq->flags = flags;
sbin/scsi/libscsi.c
749
if (do_encode(scsireq->cmd, CMDBUFLEN, &cmdlen, arg_get, gethook,
sbin/scsi/libscsi.c
75
return scsireq;
sbin/scsi/libscsi.c
753
scsireq->cmdlen = cmdlen;
sbin/scsi/libscsi.c
755
return scsireq;
sbin/scsi/libscsi.c
767
scsireq_encode_visit(scsireq_t *scsireq, char *fmt,
sbin/scsi/libscsi.c
771
return do_encode(scsireq->databuf, scsireq->datalen, 0,
sbin/scsi/libscsi.c
877
sense_7x_dump(FILE *f, scsireq_t *scsireq)
sbin/scsi/libscsi.c
880
u_char *s = (u_char *)scsireq->sense;
sbin/scsi/libscsi.c
941
value = bad_par ? (u_char)scsireq->databuf[byte] : (u_char)scsireq->cmd[byte];
sbin/scsi/libscsi.c
958
scsi_sense_dump(FILE *f, scsireq_t *scsireq)
sbin/scsi/libscsi.c
960
u_char *s = (u_char *)scsireq->sense;
sbin/scsi/libscsi.c
963
if (scsireq->senselen_used == 0) {
sbin/scsi/libscsi.c
976
sense_7x_dump(f, scsireq);
sbin/scsi/libscsi.c
982
scsi_dump(f, "sense", s, scsireq->senselen, scsireq->senselen_used, 0);
sbin/scsi/libscsi.c
986
scsi_retsts_dump(FILE *f, scsireq_t *scsireq)
sbin/scsi/libscsi.c
988
if (scsireq->retsts == 0)
sbin/scsi/libscsi.c
992
scsireq->retsts, scsi_assoc_text(scsireq->retsts, retsts));
sbin/scsi/libscsi.c
994
switch (scsireq->retsts) {
sbin/scsi/libscsi.c
996
fprintf(f, " after %ld ms", scsireq->timeout);
sbin/scsi/scsi.c
254
scsireq_t *scsireq = scsireq_new();
sbin/scsi/scsi.c
263
scsireq_reset(scsireq);
sbin/scsi/scsi.c
265
scsireq_build_visit(scsireq, 0, 0, 0, fmt, iget, (void *)&h);
sbin/scsi/scsi.c
276
count = scsireq->datalen = 0;
sbin/scsi/scsi.c
285
scsireq->flags = SCCMD_WRITE;
sbin/scsi/scsi.c
290
scsireq->flags = SCCMD_READ;
sbin/scsi/scsi.c
299
count = scsireq->datalen = iget(&h, 0);
sbin/scsi/scsi.c
303
scsireq->databuf = malloc(count);
sbin/scsi/scsi.c
304
if (scsireq->databuf == NULL)
sbin/scsi/scsi.c
309
bp = (char *)scsireq->databuf;
sbin/scsi/scsi.c
322
scsireq->datalen - (u_long)count,
sbin/scsi/scsi.c
323
scsireq->datalen);
sbin/scsi/scsi.c
324
scsireq->datalen -= (u_long)count;
sbin/scsi/scsi.c
329
bzero(scsireq->databuf, count);
sbin/scsi/scsi.c
330
scsireq_encode_visit(scsireq, data_fmt, iget, (void *)&h);
sbin/scsi/scsi.c
337
scsireq->timeout = seconds * 1000;
sbin/scsi/scsi.c
339
if (scsireq_enter(fd, scsireq) == -1)
sbin/scsi/scsi.c
341
scsi_debug(stderr, -1, scsireq);
sbin/scsi/scsi.c
345
if (SCSIREQ_ERROR(scsireq))
sbin/scsi/scsi.c
346
scsi_debug(stderr, 0, scsireq);
sbin/scsi/scsi.c
352
bp = (char *)scsireq->databuf;
sbin/scsi/scsi.c
362
scsireq->datalen - count,
sbin/scsi/scsi.c
363
scsireq->datalen);
sbin/scsi/scsi.c
368
scsireq_decode_visit(scsireq, data_fmt, arg_put, 0);
sbin/scsi/scsi.c
376
scsireq_t *scsireq;
sbin/scsi/scsi.c
380
scsireq = scsireq_new();
sbin/scsi/scsi.c
382
if (scsireq_enter(fd, scsireq_build(scsireq,
sbin/scsi/scsi.c
387
scsi_debug(stderr, -1, scsireq);
sbin/scsi/scsi.c
391
if (SCSIREQ_ERROR(scsireq))
sbin/scsi/scsi.c
393
scsi_debug(stderr, 0, scsireq);
sbin/scsi/scsi.c
397
free(scsireq);
sbin/scsi/scsi.c
402
scsireq_t *scsireq;
sbin/scsi/scsi.c
404
scsireq = scsireq_new();
sbin/scsi/scsi.c
406
if (scsireq_enter(fd, scsireq_build(scsireq,
sbin/scsi/scsi.c
410
scsi_debug(stderr, -1, scsireq);
sbin/scsi/scsi.c
414
if (SCSIREQ_ERROR(scsireq))
sbin/scsi/scsi.c
416
scsi_debug(stderr, 0, scsireq);
sbin/scsi/scsi.c
420
free(scsireq);