1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
//! Release history
use crate::*; // For docs
/// # v0.5.0 (2025-11-26)
/// - Fix linker issues with newer Rust versions.
/// - Fix clippy issues for Rust 1.91.
/// # v0.4.1 (2025-02-28)
/// - Move eventheader types into separate `eventheader_types` crate.
/// - `write_event!` macro now handles invisible delimiters to support use from
/// within other macros.
/// - Fix errors using the `write_event!` macro in Rust 2024 edition crates.
/// # v0.4.0 (2024-04-12)
/// - BUG FIX: Fix `EADDRINUSE` returned during `register()` on newer kernels.
/// The "name already in use" detection splits on whitespace, while all other
/// processing splits on semicolon. Fix by adding space after each semicolon
/// in `EVENTHEADER_COMMAND_TYPES`.
/// - Move non-eventheader code into separate `tracepoint` crate.
/// # v0.3.5 (2024-02-27)
/// - Open `user_events_data` for WRONLY instead of RDWR.
/// # v0.3.4 (2023-11-27)
/// - Changed procedure for locating the `user_events_data` file.
/// - Old: parse `/proc/mounts` to determine the `tracefs` or `debugfs` mount
/// point, then use that as the root for the `user_events_data` path.
/// - New: try `/sys/kernel/tracing/user_events_data`; if that doesn't exist,
/// parse `/proc/mounts` to find the `tracefs` or `debugfs` mount point.
/// - Rationale: Probe an absolute path so that containers don't have to
/// create a fake `/proc/mounts` and for efficiency.
/// # v0.3.2 (2023-07-24)
/// - Prefer "tracefs" over "debugfs" when searching for `user_events_data`.
/// (Old behavior: no preference - use whichever comes first in mount list.)
/// # v0.3.1 (2023-07-12)
/// - Use `c_char` instead of `i8` for ffi strings.
/// # v0.3.0 (2023-06-29)
/// - If no consumers have enabled a tracepoint, the kernel now returns
/// `EBADF`. The eventheader crate has been updated to be consistent with
/// the new behavior.
/// # v0.2.0 (2023-05-16)
/// - Add support for macro-based logging.
/// # v0.1.0 (2023-04-13)
/// - Initial release.