jvmti_rs/wrapper/enums/
version_mask.rs1use crate::sys;
2
3#[derive(Debug)]
4pub enum JvmtiVersionMask {
5 InterfaceType,
6 Major,
7 Minor,
8 Micro,
9 Unsupported(sys::jvmtiVersionMask),
10}
11
12
13impl From<sys::jvmtiVersionMask> for JvmtiVersionMask {
14 fn from(value: sys::jvmtiVersionMask) -> Self {
15 match value {
16 sys::JVMTI_VERSION_MASK_INTERFACE_TYPE => JvmtiVersionMask::InterfaceType,
17 sys::JVMTI_VERSION_MASK_MAJOR => JvmtiVersionMask::Major,
18 sys::JVMTI_VERSION_MASK_MINOR => JvmtiVersionMask::Minor,
19 sys::JVMTI_VERSION_MASK_MICRO => JvmtiVersionMask::Micro,
20 _ => JvmtiVersionMask::Unsupported(value)
21 }
22 }
23}
24
25impl From<JvmtiVersionMask> for sys::jvmtiVersionMask {
26 fn from(value: JvmtiVersionMask) -> Self {
27 match value {
28 JvmtiVersionMask::InterfaceType => sys::JVMTI_VERSION_MASK_INTERFACE_TYPE,
29 JvmtiVersionMask::Major => sys::JVMTI_VERSION_MASK_MAJOR,
30 JvmtiVersionMask::Minor => sys::JVMTI_VERSION_MASK_MINOR,
31 JvmtiVersionMask::Micro => sys::JVMTI_VERSION_MASK_MICRO,
32 _ => sys::JVMTI_CONSTANT_UNSUPPORTED,
33 }
34 }
35}