sglist
struct scatterlist *sglist, unsigned int nents,
piter->sg = sglist;
#define for_each_sg(sglist, sg, sgmax, _itr) \
for (_itr = 0, sg = (sglist); _itr < (sgmax); _itr++, sg = sg_next(sg))
struct sglist *sg;
struct sglist sg;
struct sglist sg;
struct sglist *vtblk_sglist;
struct sglist *sg;
struct sglist sg;
struct sglist *, int, int);
struct sglist sg;
struct sglist *sg, int readable, int writable)
struct sglist sg;
struct sglist sg;
struct sglist sg;
struct sglist sg;
struct sglist sg;
struct sglist *, struct ccb_scsiio *);
vtscsi_sg_append_scsi_buf(struct vtscsi_softc *sc, struct sglist *sg,
struct sglist *sg;
struct sglist *sg;
struct vtscsi_request *, struct sglist *, int, int, int);
struct sglist *sg;
struct sglist *sg, int readable, int writable, int flag)
struct sglist *sg;
struct sglist *sg;
struct sglist *sg;
struct sglist *vtscsi_sglist;
struct vring_desc *, uint16_t, struct sglist *, int, int);
struct sglist *, int, int);
virtqueue_enqueue(struct virtqueue *vq, void *cookie, struct sglist *sg,
uint16_t head_idx, struct sglist *sg, int readable, int writable)
struct sglist *sg, int readable, int writable)
struct sglist;
struct sglist *sg, int readable, int writable);
_sglist_append_buf(struct sglist *sg, void *buf, size_t len, pmap_t pmap,
struct sglist *
struct sglist *sg;
sg = kmalloc(sizeof(struct sglist) + nsegs * sizeof(struct sglist_seg),
sglist_free(struct sglist *sg)
sglist_append(struct sglist *sg, void *buf, size_t len)
sglist_append_phys(struct sglist *sg, vm_paddr_t paddr, size_t len)
sglist_append_mbuf(struct sglist *sg, struct mbuf *m0)
sglist_append_user(struct sglist *sg, void *buf, size_t len, struct thread *td)
sglist_append_uio(struct sglist *sg, struct uio *uio)
sglist_consume_uio(struct sglist *sg, struct uio *uio, size_t resid)
struct sglist *
struct sglist *sg;
struct sglist *
sglist_clone(struct sglist *sg, int mflags)
struct sglist *new;
sglist_length(struct sglist *sg)
sglist_split(struct sglist *original, struct sglist **head, size_t length,
struct sglist *sg;
sglist_join(struct sglist *first, struct sglist *second)
sglist_slice(struct sglist *original, struct sglist **slice, size_t offset,
struct sglist *sg;
_sglist_append_range(struct sglist *sg, struct sglist_seg **ssp,
void sglist_free(struct sglist *sg);
int sglist_join(struct sglist *first, struct sglist *second);
size_t sglist_length(struct sglist *sg);
int sglist_slice(struct sglist *original, struct sglist **slice,
int sglist_split(struct sglist *original, struct sglist **head,
sglist_init(struct sglist *sg, u_short maxsegs, struct sglist_seg *segs)
sglist_reset(struct sglist *sg)
static __inline struct sglist *
sglist_hold(struct sglist *sg)
struct sglist *sglist_alloc(int nsegs, int mflags);
int sglist_append(struct sglist *sg, void *buf, size_t len);
int sglist_append_mbuf(struct sglist *sg, struct mbuf *m0);
int sglist_append_phys(struct sglist *sg, vm_paddr_t paddr,
int sglist_append_uio(struct sglist *sg, struct uio *uio);
int sglist_append_user(struct sglist *sg, void *buf, size_t len,
struct sglist *sglist_build(void *buf, size_t len, int mflags);
struct sglist *sglist_clone(struct sglist *sg, int mflags);
int sglist_consume_uio(struct sglist *sg, struct uio *uio, size_t resid);