2024-05-10 15:04:31 +01:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
|
|
#ifndef _TRACE_MMAP_H_
|
|
|
|
#define _TRACE_MMAP_H_
|
|
|
|
|
|
|
|
#include <linux/types.h>
|
|
|
|
|
|
|
|
/**
|
|
|
|
* struct trace_buffer_meta - Ring-buffer Meta-page description
|
|
|
|
* @meta_page_size: Size of this meta-page.
|
|
|
|
* @meta_struct_len: Size of this structure.
|
|
|
|
* @subbuf_size: Size of each sub-buffer.
|
|
|
|
* @nr_subbufs: Number of subbfs in the ring-buffer, including the reader.
|
|
|
|
* @reader.lost_events: Number of events lost at the time of the reader swap.
|
|
|
|
* @reader.id: subbuf ID of the current reader. ID range [0 : @nr_subbufs - 1]
|
|
|
|
* @reader.read: Number of bytes read on the reader subbuf.
|
|
|
|
* @flags: Placeholder for now, 0 until new features are supported.
|
|
|
|
* @entries: Number of entries in the ring-buffer.
|
|
|
|
* @overrun: Number of entries lost in the ring-buffer.
|
|
|
|
* @read: Number of entries that have been read.
|
|
|
|
* @Reserved1: Internal use only.
|
|
|
|
* @Reserved2: Internal use only.
|
|
|
|
*/
|
|
|
|
struct trace_buffer_meta {
|
|
|
|
__u32 meta_page_size;
|
|
|
|
__u32 meta_struct_len;
|
|
|
|
|
|
|
|
__u32 subbuf_size;
|
|
|
|
__u32 nr_subbufs;
|
|
|
|
|
|
|
|
struct {
|
|
|
|
__u64 lost_events;
|
|
|
|
__u32 id;
|
|
|
|
__u32 read;
|
|
|
|
} reader;
|
|
|
|
|
|
|
|
__u64 flags;
|
|
|
|
|
|
|
|
__u64 entries;
|
|
|
|
__u64 overrun;
|
|
|
|
__u64 read;
|
|
|
|
|
|
|
|
__u64 Reserved1;
|
|
|
|
__u64 Reserved2;
|
|
|
|
};
|
|
|
|
|
2024-07-02 15:33:54 -04:00
|
|
|
#define TRACE_MMAP_IOCTL_GET_READER _IO('R', 0x20)
|
2024-05-10 15:04:32 +01:00
|
|
|
|
2024-05-10 15:04:31 +01:00
|
|
|
#endif /* _TRACE_MMAP_H_ */
|