 |
|
|
NAME
| | makecom, makecom_g0, makecom_g0_s, makecom_g1, makecom_g5 - make a packet for SCSI commands |
SYNOPSIS
| |
#include <sys/scsi/scsi.h> void makecom_g0(struct scsi_pkt *pkt, struct scsi_device *devp, int flag, int cmd, int addr, int cnt); |
| | void makecom_g0_s(struct scsi_pkt *pkt, struct scsi_device *devp, int flag, int cmd, int cnt, int fixbit); |
| | void makecom_g1(struct scsi_pkt *pkt, struct scsi_device *devp, int flag, int cmd, int addr, int cnt); |
| | void makecom_g5(struct scsi_pkt *pkt, struct scsi_device *devp, int flag, int cmd, int addr, int cnt); |
| |
-
pkt
- Pointer to an allocated scsi_pkt(9S) structure.
-
devp
- Pointer to the target's scsi_device(9S) structure.
-
flag
- Flags for the pkt_flags member.
-
cmd
- First byte of a group 0 or 1 or 5 SCSI CDB.
-
addr
- Pointer to the location of the data.
-
cnt
- Data transfer length in units defined by the SCSI device type. For sequential devices cnt is the number of bytes. For block devices, cnt is the number of blocks.
-
fixbit
- Fixed bit in sequential access device commands.
|
| |
makecom functions initialize a packet with the specified command descriptor block, devp and transport flags. The pkt_address, pkt_flags, and the command descriptor block pointed to by pkt_cdbp are initialized using the remaining arguments. Target drivers may use makecom_g0() for Group 0 commands (except for sequential access devices), or makecom_g0_s() for Group 0 commands for sequential access devices, or makecom_g1()
for Group 1 commands, or makecom_g5() for Group 5 commands. fixbit is used by sequential access devices for accessing fixed block sizes and sets the the tag portion of the SCSI CDB.
|
| |
These functions can be called from user or interrupt context.
|
| | Example 1. Using makecom Functions
| |
| |
if (blkno >= (1<<20)) {
makecom_g1(pkt, SD_SCSI_DEVP, pflag, SCMD_WRITE_G1,
(int) blkno, nblk);
} else {
makecom_g0(pkt, SD_SCSI_DEVP, pflag, SCMD_WRITE,
(int) blkno, nblk);
}
|
|
|
| |
See attributes(5) for a description of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Stability Level | Obsolete |
|
| |
The makecom_g0(), makecom_g0_s(), makecom_g1(), and makecom_g5() functions are obsolete and will be discontinued in a future release. These functions have been replaced by the scsi_setup_cdb() function.
See scsi_setup_cdb(9F).
|
Company Info
|
Contact
|
Copyright 2003 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
|