SG
#define SG_ADVANCE(SG, N) \
((SG)->iov_len < (N) \
: ((SG)->iov_base = (char *) (SG)->iov_base + (N), \
(SG)->iov_len -= (N), 0))
#define SG_LEN(SG) ((SG)->iov_len + 0)
#define SG_BUF(SG) ((char*)(SG)->iov_base + 0)
#define SG_SET(SG, B, L) ((SG)->iov_base = (char*)(B), (SG)->iov_len = (L))
#define SG_ADVANCE(SG, N) \
((SG)->len < (N) \
#define SOCKET_WRITEV(FD, SG, LEN, TMP) \
((TMP) = writev((FD), (SG), (LEN)), (TMP))
: ((SG)->buf += (N), (SG)->len -= (N), 0))
#define SG_LEN(SG) ((SG)->len + 0)
#define SG_BUF(SG) ((SG)->buf + 0)
#define SG_SET(SG, B, N) ((SG)->buf = (char *)(B),(SG)->len = (N))
#define SOCKET_WRITEV(FD, SG, LEN, TMP) \
(WSASend((FD), (SG), (LEN), &(TMP), 0, 0, 0) ? -1 : (TMP))
SGDescriptor_t SG[CISS_MAXSGENTRIES]; /* 16*SG_MAXENTRIES=512, 564 */
cmdlist->SG[0].Len = bmic_pass->buf_len;
cmdlist->SG[0].Len = scsi_pass->buf_len;
cmdlist->SG[0].Len = bmic_pass->buf_len;
cmdlist->SG[0].Addr = phys_addr;
cmdlist->SG[0].Len = NOE_BUFFER_LENGTH;
cmdlistp->SG[cntr].Addr =
cmdlistp->SG[cntr].Len = (uint32_t)
memp->cmdlist_memaddr->SG[0].Addr = dmabufpa;
memp->cmdlist_memaddr->SG[0].Len = (uint32_t)bufsz;
if ((perm & SG) && (crgetgid(cr) == 0)) /* group 0 is ok */
(SU | SG)},
smcm->smcm_va_cmd->SG[0].Addr = smcmi->smcmi_pa;
smcm->smcm_va_cmd->SG[0].Len = (uint32_t)len;
smcm->smcm_va_cmd->SG[i].Addr =
smcm->smcm_va_cmd->SG[i].Len =
if ((perm & SG) && (crgetgid(cr) == 0)) /* group 0 is ok */
if (!srn_perms(SU | SG, srn.srn_cred[clone])) {
SGDescriptor_t SG[CISS_MAXSGENTRIES];