jvmti_rs/wrapper/enums/
param_kind.rs1use crate::sys;
2
3#[derive(Debug)]
4pub enum JvmtiParamKind {
5 In,
6 InPtr,
7 InBuf,
8 AllocBuf,
9 AllocAllocBuf,
10 Out,
11 OutBuf,
12 Unsupported(sys::jvmtiParamKind),
13}
14
15
16impl From<sys::jvmtiParamKind> for JvmtiParamKind {
17 fn from(value: sys::jvmtiParamKind) -> Self {
18 match value {
19 sys::JVMTI_KIND_IN => JvmtiParamKind::In,
20 sys::JVMTI_KIND_IN_PTR => JvmtiParamKind::InPtr,
21 sys::JVMTI_KIND_IN_BUF => JvmtiParamKind::InBuf,
22 sys::JVMTI_KIND_ALLOC_BUF => JvmtiParamKind::AllocBuf,
23 sys::JVMTI_KIND_ALLOC_ALLOC_BUF => JvmtiParamKind::AllocAllocBuf,
24 sys::JVMTI_KIND_OUT => JvmtiParamKind::Out,
25 sys::JVMTI_KIND_OUT_BUF => JvmtiParamKind::OutBuf,
26 _ => JvmtiParamKind::Unsupported(value)
27 }
28 }
29}
30
31impl From<JvmtiParamKind> for sys::jvmtiParamKind {
32 fn from(value: JvmtiParamKind) -> Self {
33 match value {
34 JvmtiParamKind::In => sys::JVMTI_KIND_IN,
35 JvmtiParamKind::InPtr => sys::JVMTI_KIND_IN_PTR,
36 JvmtiParamKind::InBuf => sys::JVMTI_KIND_IN_BUF,
37 JvmtiParamKind::AllocBuf => sys::JVMTI_KIND_ALLOC_BUF,
38 JvmtiParamKind::AllocAllocBuf => sys::JVMTI_KIND_ALLOC_ALLOC_BUF,
39 JvmtiParamKind::Out => sys::JVMTI_KIND_OUT,
40 JvmtiParamKind::OutBuf => sys::JVMTI_KIND_OUT_BUF,
41 _ => sys::JVMTI_CONSTANT_UNSUPPORTED,
42 }
43 }
44}