Lines Matching refs:frame
43 mapping still needs to be writable in order to update the frame status after
49 a status word in the frame header.
59 stack and setting up the frame header appropriately. Optionally poll() can
72 [ frame 0 ]
73 [ frame 1 ]
75 [ frame 2 ]
76 [ frame 3 ]
79 [ frame 2 * n ]
80 [ frame 2 * n + 1 ]
107 - nm_frame_size must be equal or larger to NL_MMAP_HDRLEN, IOW a frame must be
108 able to hold at least the frame header
119 should be chosen to be as small as possible for the required frame size and
125 Each frames contain a frame header, consisting of a synchronization word and some
130 The frame header is defined as follows:
143 space and specifies ownership of the frame as well as the operation to perform
156 RX ring: frame belongs to the kernel and contains no message
160 TX ring: frame belongs to user-space and can be used for
164 RX ring only: frame is currently used by the kernel for message
170 RX ring: frame contains a valid message. Approriate action is
171 to process the message and release the frame back to
173 NL_MMAP_STATUS_UNUSED or queue the frame by setting the
176 TX ring: the frame contains a valid message from user-space to
178 the kernel will release the frame back to user-space by
184 frame size or because the originating subsystem does
187 the frame back to the kernel by setting the status to
193 kernel should skip this frame when looking for unused
196 The data area of a frame begins at a offset of NL_MMAP_HDRLEN relative to the
197 frame header.
202 As of Jan 2015 the message is always copied from the ring frame to an
267 /* Get next frame header */
271 /* Regular memory mapped frame */
292 /* Release frame back to the kernel */
295 /* Advance frame offset to next frame */
316 /* No frame available. Use poll() to avoid. */
324 /* Fill frame header: length and status need to be set */
331 /* Advance frame offset to next frame */