jvmti_rs/wrapper/enums/
param_kind.rs

1use 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}