6.5. iovec_count

这是 'dxferp' 指向的数组中散布聚集元素的数量。 如果该值为零,则表示未使用散布聚集(在用户空间中),并且 'dxferp' 指向数据传输缓冲区。 如果该值大于零,则假定数组的每个元素都具有以下形式:
            typedef struct sg_iovec
            {
                void * iov_base; /* starting address */
                size_t iov_len;  /* length in bytes */
            } sg_iovec_t;
请注意,此结构的命名和定义方式与 Linux 中 readv() 和 writev() 系统调用使用的 "struct iovec" 并行。 请参阅 "man 2 readv"。

请注意,'iovec_count' 提供的散布聚集功能与大多数现代 SCSI 适配器提供的散布聚集功能(通常与 DMA 相关联)无关。 此外,iovec_count 的散布聚集(进入用户空间)仅在使用普通(或“间接”)IO 时可用。 因此,如果在 'flags' 中设置了 SG_FLAG_DIRECT_IO 或 SG_FLAG_MMAP_IO,则 'iovec_count' 应为零。

iovec_count 的类型为 unsigned short。