*参照元 [#dd3b806a] #backlinks *説明 [#z441a4d5] -パス: [[linux-4.4.1/drivers/dma-buf/dma-buf.c]] -FIXME: これは何? --説明 **引数 [#c333fe5c] -struct file *file -- --[[linux-4.4.1/file]] -struct vm_area_struct *vma -- --[[linux-4.4.1/vm_area_struct]] **返り値 [#u0652c89] -int -- **参考 [#o6f820bc] *実装 [#z3535c91] static int dma_buf_mmap_internal(struct file *file, struct vm_area_struct *vma) { struct dma_buf *dmabuf; - --[[linux-4.4.1/dma_buf]] if (!is_dma_buf_file(file)) return -EINVAL; - --[[linux-4.4.1/is_dma_buf_file()]] dmabuf = file->private_data; /* check for overflowing the buffer's size */ if (vma->vm_pgoff + ((vma->vm_end - vma->vm_start) >> PAGE_SHIFT) > dmabuf->size >> PAGE_SHIFT) return -EINVAL; return dmabuf->ops->mmap(dmabuf, vma); - -dmabuf->ops は const struct dma_buf_ops * 型の変数 --[[linux-4.4.1/dma_buf_ops]] } *コメント [#gf0a6a9e]