1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 #ifndef _TRACE_MMAP_H_ 3 #define _TRACE_MMAP_H_ 4 5 #include <linux/types.h> 6 7 /** 8 * struct trace_buffer_meta - Ring-buffer Meta-page description 9 * @meta_page_size: Size of this meta-page. 10 * @meta_struct_len: Size of this structure. 11 * @subbuf_size: Size of each sub-buffer. 12 * @nr_subbufs: Number of subbfs in the ring-buffer, including the reader. 13 * @reader.lost_events: Number of events lost at the time of the reader swap. 14 * @reader.id: subbuf ID of the current reader. ID range [0 : @nr_subbufs - 1] 15 * @reader.read: Number of bytes read on the reader subbuf. 16 * @flags: Placeholder for now, 0 until new features are supported. 17 * @entries: Number of entries in the ring-buffer. 18 * @overrun: Number of entries lost in the ring-buffer. 19 * @read: Number of entries that have been read. 20 * @Reserved1: Internal use only. 21 * @Reserved2: Internal use only. 22 */ 23 struct trace_buffer_meta { 24 __u32 meta_page_size; 25 __u32 meta_struct_len; 26 27 __u32 subbuf_size; 28 __u32 nr_subbufs; 29 30 struct { 31 __u64 lost_events; 32 __u32 id; 33 __u32 read; 34 } reader; 35 36 __u64 flags; 37 38 __u64 entries; 39 __u64 overrun; 40 __u64 read; 41 42 __u64 Reserved1; 43 __u64 Reserved2; 44 }; 45 46 #define TRACE_MMAP_IOCTL_GET_READER _IO('R', 0x20) 47 48 #endif /* _TRACE_MMAP_H_ */ 49