49 lines · c
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 description9 * @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 */23struct 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