It can be used to export a buffer as a DMABUF file at any time after
buffers have been allocated with the :ref:`DMX_REQBUFS` ioctl.
-The ``reserved`` array must be zeroed before calling it.
-
To export a buffer, applications fill struct :c:type:`dmx_exportbuffer`.
Applications must set the ``index`` field. Valid index numbers
range from zero to the number of buffers allocated with :ref:`DMX_REQBUFS`
one. The contents of the struct :c:type:`dmx_buffer` returned
by a :ref:`DMX_QUERYBUF` ioctl will do as well.
-The and ``reserved`` field must be set to 0.
-
When ``DMX_QBUF`` is called with a pointer to this structure, it locks the
memory pages of the buffer in physical memory, so they cannot be swapped
out to disk. Buffers remain locked until dequeued, until the
be used to query the status of a buffer at any time after buffers have
been allocated with the :ref:`DMX_REQBUFS` ioctl.
-The ``reserved`` array must be zeroed before calling it.
-
Applications set the ``index`` field. Valid index numbers range from zero
to the number of buffers allocated with :ref:`DMX_REQBUFS`
(struct :c:type:`dvb_requestbuffers` ``count``) minus one.
configures the driver into DMABUF I/O mode without performing any direct
allocation.
-The ``reserved`` array must be zeroed before calling it.
-
To allocate device buffers applications initialize all fields of the
struct :c:type:`dmx_requestbuffers` structure. They set the ``count`` field
to the desired number of buffers, and ``size`` to the size of each
b->length = vb->planes[0].length;
b->bytesused = vb->planes[0].bytesused;
b->offset = vb->planes[0].m.offset;
- memset(b->reserved, 0, sizeof(b->reserved));
dprintk(3, "[%s]\n", ctx->name);
}
__u32 bytesused;
__u32 offset;
__u32 length;
- __u32 reserved[4];
};
/**
struct dmx_requestbuffers {
__u32 count;
__u32 size;
- __u32 reserved[2];
};
/**
__u32 index;
__u32 flags;
__s32 fd;
- __u32 reserved[5];
};
#define DMX_START _IO('o', 41)