7 SRblank(ScsiReq *rp, uchar type, uchar track)
11 memset(cmd, 0, sizeof(cmd));
19 rp->cmd.count = sizeof(cmd);
27 SRsynccache(ScsiReq *rp)
31 memset(cmd, 0, sizeof(cmd));
32 cmd[0] = ScmdSynccache;
34 rp->cmd.count = sizeof(cmd);
42 SRTOC(ScsiReq *rp, void *data, int nbytes, uchar format, uchar track)
46 memset(cmd, 0, sizeof(cmd));
53 rp->cmd.count = sizeof(cmd);
55 rp->data.count = nbytes;
61 SRrdiscinfo(ScsiReq *rp, void *data, int nbytes)
65 memset(cmd, 0, sizeof(cmd));
66 cmd[0] = ScmdRdiscinfo;
70 rp->cmd.count = sizeof(cmd);
72 rp->data.count = nbytes;
78 SRrtrackinfo(ScsiReq *rp, void *data, int nbytes, int track)
82 memset(cmd, 0, sizeof(cmd));
83 cmd[0] = ScmdRtrackinfo;
92 rp->cmd.count = sizeof(cmd);
94 rp->data.count = nbytes;
100 SRfwaddr(ScsiReq *rp, uchar track, uchar mode, uchar npa, uchar *data)
104 memset(cmd, 0, sizeof(cmd));
110 rp->cmd.count = sizeof(cmd);
112 rp->data.count = MaxDirData;
114 return SRrequest(rp);
118 SRtreserve(ScsiReq *rp, long nbytes)
123 if((nbytes % rp->lbsize)){
124 rp->status = Status_BADARG;
127 memset(cmd, 0, sizeof(cmd));
128 cmd[0] = ScmdTreserve;
129 n = nbytes/rp->lbsize;
135 rp->cmd.count = sizeof(cmd);
139 return SRrequest(rp);
143 SRtinfo(ScsiReq *rp, uchar track, uchar *data)
147 memset(cmd, 0, sizeof(cmd));
152 rp->cmd.count = sizeof(cmd);
154 rp->data.count = MaxDirData;
156 return SRrequest(rp);
160 SRwtrack(ScsiReq *rp, void *buf, long nbytes, uchar track, uchar mode)
165 if((nbytes % rp->lbsize) || nbytes > maxiosize){
166 rp->status = Status_BADARG;
169 memset(cmd, 0, sizeof(cmd));
173 n = nbytes/rp->lbsize;
177 rp->cmd.count = sizeof(cmd);
179 rp->data.count = nbytes;
189 SRmload(ScsiReq *rp, uchar code)
193 memset(cmd, 0, sizeof(cmd));
197 rp->cmd.count = sizeof(cmd);
201 return SRrequest(rp);
205 SRfixation(ScsiReq *rp, uchar type)
209 memset(cmd, 0, sizeof(cmd));
210 cmd[0] = ScmdFixation;
213 rp->cmd.count = sizeof(cmd);
217 return SRrequest(rp);