1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4#![allow(dead_code)]
5
6use crate::bitfield::__BindgenBitfieldUnit;
7use crate::jni::*;
8
9pub const JMM_VERSION_1: ::std::os::raw::c_uint = 536936448;
10pub const JMM_VERSION_1_0: ::std::os::raw::c_uint = 536936448;
11pub const JMM_VERSION_1_1: ::std::os::raw::c_uint = 536936704;
12pub const JMM_VERSION_1_2: ::std::os::raw::c_uint = 536936960;
13pub const JMM_VERSION_1_2_1: ::std::os::raw::c_uint = 536936961;
14pub const JMM_VERSION_1_2_2: ::std::os::raw::c_uint = 536936962;
15pub const JMM_VERSION_2: ::std::os::raw::c_uint = 537001984;
16pub const JMM_VERSION_3: ::std::os::raw::c_uint = 537067520;
17pub const JMM_VERSION: ::std::os::raw::c_uint = 537067520;
18#[repr(C)]
19#[repr(align(4))]
20#[derive(Debug, Copy, Clone)]
21pub struct jmmOptionalSupport {
22 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u8>,
23}
24impl jmmOptionalSupport {
25 #[inline]
26 pub fn isLowMemoryDetectionSupported(&self) -> ::std::os::raw::c_uint {
27 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
28 }
29 #[inline]
30 pub fn set_isLowMemoryDetectionSupported(&mut self, val: ::std::os::raw::c_uint) {
31 unsafe {
32 let val: u32 = ::std::mem::transmute(val);
33 self._bitfield_1.set(0usize, 1u8, val as u64)
34 }
35 }
36 #[inline]
37 pub fn isCompilationTimeMonitoringSupported(&self) -> ::std::os::raw::c_uint {
38 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
39 }
40 #[inline]
41 pub fn set_isCompilationTimeMonitoringSupported(&mut self, val: ::std::os::raw::c_uint) {
42 unsafe {
43 let val: u32 = ::std::mem::transmute(val);
44 self._bitfield_1.set(1usize, 1u8, val as u64)
45 }
46 }
47 #[inline]
48 pub fn isThreadContentionMonitoringSupported(&self) -> ::std::os::raw::c_uint {
49 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
50 }
51 #[inline]
52 pub fn set_isThreadContentionMonitoringSupported(&mut self, val: ::std::os::raw::c_uint) {
53 unsafe {
54 let val: u32 = ::std::mem::transmute(val);
55 self._bitfield_1.set(2usize, 1u8, val as u64)
56 }
57 }
58 #[inline]
59 pub fn isCurrentThreadCpuTimeSupported(&self) -> ::std::os::raw::c_uint {
60 unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
61 }
62 #[inline]
63 pub fn set_isCurrentThreadCpuTimeSupported(&mut self, val: ::std::os::raw::c_uint) {
64 unsafe {
65 let val: u32 = ::std::mem::transmute(val);
66 self._bitfield_1.set(3usize, 1u8, val as u64)
67 }
68 }
69 #[inline]
70 pub fn isOtherThreadCpuTimeSupported(&self) -> ::std::os::raw::c_uint {
71 unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
72 }
73 #[inline]
74 pub fn set_isOtherThreadCpuTimeSupported(&mut self, val: ::std::os::raw::c_uint) {
75 unsafe {
76 let val: u32 = ::std::mem::transmute(val);
77 self._bitfield_1.set(4usize, 1u8, val as u64)
78 }
79 }
80 #[inline]
81 pub fn isObjectMonitorUsageSupported(&self) -> ::std::os::raw::c_uint {
82 unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
83 }
84 #[inline]
85 pub fn set_isObjectMonitorUsageSupported(&mut self, val: ::std::os::raw::c_uint) {
86 unsafe {
87 let val: u32 = ::std::mem::transmute(val);
88 self._bitfield_1.set(5usize, 1u8, val as u64)
89 }
90 }
91 #[inline]
92 pub fn isSynchronizerUsageSupported(&self) -> ::std::os::raw::c_uint {
93 unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
94 }
95 #[inline]
96 pub fn set_isSynchronizerUsageSupported(&mut self, val: ::std::os::raw::c_uint) {
97 unsafe {
98 let val: u32 = ::std::mem::transmute(val);
99 self._bitfield_1.set(6usize, 1u8, val as u64)
100 }
101 }
102 #[inline]
103 pub fn isThreadAllocatedMemorySupported(&self) -> ::std::os::raw::c_uint {
104 unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
105 }
106 #[inline]
107 pub fn set_isThreadAllocatedMemorySupported(&mut self, val: ::std::os::raw::c_uint) {
108 unsafe {
109 let val: u32 = ::std::mem::transmute(val);
110 self._bitfield_1.set(7usize, 1u8, val as u64)
111 }
112 }
113 #[inline]
114 pub fn isRemoteDiagnosticCommandsSupported(&self) -> ::std::os::raw::c_uint {
115 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
116 }
117 #[inline]
118 pub fn set_isRemoteDiagnosticCommandsSupported(&mut self, val: ::std::os::raw::c_uint) {
119 unsafe {
120 let val: u32 = ::std::mem::transmute(val);
121 self._bitfield_1.set(8usize, 1u8, val as u64)
122 }
123 }
124 #[inline]
125 pub fn new_bitfield_1(
126 isLowMemoryDetectionSupported: ::std::os::raw::c_uint,
127 isCompilationTimeMonitoringSupported: ::std::os::raw::c_uint,
128 isThreadContentionMonitoringSupported: ::std::os::raw::c_uint,
129 isCurrentThreadCpuTimeSupported: ::std::os::raw::c_uint,
130 isOtherThreadCpuTimeSupported: ::std::os::raw::c_uint,
131 isObjectMonitorUsageSupported: ::std::os::raw::c_uint,
132 isSynchronizerUsageSupported: ::std::os::raw::c_uint,
133 isThreadAllocatedMemorySupported: ::std::os::raw::c_uint,
134 isRemoteDiagnosticCommandsSupported: ::std::os::raw::c_uint,
135 ) -> __BindgenBitfieldUnit<[u8; 4usize], u8> {
136 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u8> =
137 Default::default();
138 __bindgen_bitfield_unit.set(0usize, 1u8, {
139 let isLowMemoryDetectionSupported: u32 =
140 unsafe { ::std::mem::transmute(isLowMemoryDetectionSupported) };
141 isLowMemoryDetectionSupported as u64
142 });
143 __bindgen_bitfield_unit.set(1usize, 1u8, {
144 let isCompilationTimeMonitoringSupported: u32 =
145 unsafe { ::std::mem::transmute(isCompilationTimeMonitoringSupported) };
146 isCompilationTimeMonitoringSupported as u64
147 });
148 __bindgen_bitfield_unit.set(2usize, 1u8, {
149 let isThreadContentionMonitoringSupported: u32 =
150 unsafe { ::std::mem::transmute(isThreadContentionMonitoringSupported) };
151 isThreadContentionMonitoringSupported as u64
152 });
153 __bindgen_bitfield_unit.set(3usize, 1u8, {
154 let isCurrentThreadCpuTimeSupported: u32 =
155 unsafe { ::std::mem::transmute(isCurrentThreadCpuTimeSupported) };
156 isCurrentThreadCpuTimeSupported as u64
157 });
158 __bindgen_bitfield_unit.set(4usize, 1u8, {
159 let isOtherThreadCpuTimeSupported: u32 =
160 unsafe { ::std::mem::transmute(isOtherThreadCpuTimeSupported) };
161 isOtherThreadCpuTimeSupported as u64
162 });
163 __bindgen_bitfield_unit.set(5usize, 1u8, {
164 let isObjectMonitorUsageSupported: u32 =
165 unsafe { ::std::mem::transmute(isObjectMonitorUsageSupported) };
166 isObjectMonitorUsageSupported as u64
167 });
168 __bindgen_bitfield_unit.set(6usize, 1u8, {
169 let isSynchronizerUsageSupported: u32 =
170 unsafe { ::std::mem::transmute(isSynchronizerUsageSupported) };
171 isSynchronizerUsageSupported as u64
172 });
173 __bindgen_bitfield_unit.set(7usize, 1u8, {
174 let isThreadAllocatedMemorySupported: u32 =
175 unsafe { ::std::mem::transmute(isThreadAllocatedMemorySupported) };
176 isThreadAllocatedMemorySupported as u64
177 });
178 __bindgen_bitfield_unit.set(8usize, 1u8, {
179 let isRemoteDiagnosticCommandsSupported: u32 =
180 unsafe { ::std::mem::transmute(isRemoteDiagnosticCommandsSupported) };
181 isRemoteDiagnosticCommandsSupported as u64
182 });
183 __bindgen_bitfield_unit
184 }
185}
186pub const jmmLongAttribute_JMM_CLASS_LOADED_COUNT: jmmLongAttribute = 1;
187pub const jmmLongAttribute_JMM_CLASS_UNLOADED_COUNT: jmmLongAttribute = 2;
188pub const jmmLongAttribute_JMM_THREAD_TOTAL_COUNT: jmmLongAttribute = 3;
189pub const jmmLongAttribute_JMM_THREAD_LIVE_COUNT: jmmLongAttribute = 4;
190pub const jmmLongAttribute_JMM_THREAD_PEAK_COUNT: jmmLongAttribute = 5;
191pub const jmmLongAttribute_JMM_THREAD_DAEMON_COUNT: jmmLongAttribute = 6;
192pub const jmmLongAttribute_JMM_JVM_INIT_DONE_TIME_MS: jmmLongAttribute = 7;
193pub const jmmLongAttribute_JMM_COMPILE_TOTAL_TIME_MS: jmmLongAttribute = 8;
194pub const jmmLongAttribute_JMM_GC_TIME_MS: jmmLongAttribute = 9;
195pub const jmmLongAttribute_JMM_GC_COUNT: jmmLongAttribute = 10;
196pub const jmmLongAttribute_JMM_JVM_UPTIME_MS: jmmLongAttribute = 11;
197pub const jmmLongAttribute_JMM_INTERNAL_ATTRIBUTE_INDEX: jmmLongAttribute = 100;
198pub const jmmLongAttribute_JMM_CLASS_LOADED_BYTES: jmmLongAttribute = 101;
199pub const jmmLongAttribute_JMM_CLASS_UNLOADED_BYTES: jmmLongAttribute = 102;
200pub const jmmLongAttribute_JMM_TOTAL_CLASSLOAD_TIME_MS: jmmLongAttribute = 103;
201pub const jmmLongAttribute_JMM_VM_GLOBAL_COUNT: jmmLongAttribute = 104;
202pub const jmmLongAttribute_JMM_SAFEPOINT_COUNT: jmmLongAttribute = 105;
203pub const jmmLongAttribute_JMM_TOTAL_SAFEPOINTSYNC_TIME_MS: jmmLongAttribute = 106;
204pub const jmmLongAttribute_JMM_TOTAL_STOPPED_TIME_MS: jmmLongAttribute = 107;
205pub const jmmLongAttribute_JMM_TOTAL_APP_TIME_MS: jmmLongAttribute = 108;
206pub const jmmLongAttribute_JMM_VM_THREAD_COUNT: jmmLongAttribute = 109;
207pub const jmmLongAttribute_JMM_CLASS_INIT_TOTAL_COUNT: jmmLongAttribute = 110;
208pub const jmmLongAttribute_JMM_CLASS_INIT_TOTAL_TIME_MS: jmmLongAttribute = 111;
209pub const jmmLongAttribute_JMM_METHOD_DATA_SIZE_BYTES: jmmLongAttribute = 112;
210pub const jmmLongAttribute_JMM_CLASS_VERIFY_TOTAL_TIME_MS: jmmLongAttribute = 113;
211pub const jmmLongAttribute_JMM_SHARED_CLASS_LOADED_COUNT: jmmLongAttribute = 114;
212pub const jmmLongAttribute_JMM_SHARED_CLASS_UNLOADED_COUNT: jmmLongAttribute = 115;
213pub const jmmLongAttribute_JMM_SHARED_CLASS_LOADED_BYTES: jmmLongAttribute = 116;
214pub const jmmLongAttribute_JMM_SHARED_CLASS_UNLOADED_BYTES: jmmLongAttribute = 117;
215pub const jmmLongAttribute_JMM_OS_ATTRIBUTE_INDEX: jmmLongAttribute = 200;
216pub const jmmLongAttribute_JMM_OS_PROCESS_ID: jmmLongAttribute = 201;
217pub const jmmLongAttribute_JMM_OS_MEM_TOTAL_PHYSICAL_BYTES: jmmLongAttribute = 202;
218pub const jmmLongAttribute_JMM_GC_EXT_ATTRIBUTE_INFO_SIZE: jmmLongAttribute = 401;
219pub type jmmLongAttribute = ::std::os::raw::c_uint;
220pub const jmmBoolAttribute_JMM_VERBOSE_GC: jmmBoolAttribute = 21;
221pub const jmmBoolAttribute_JMM_VERBOSE_CLASS: jmmBoolAttribute = 22;
222pub const jmmBoolAttribute_JMM_THREAD_CONTENTION_MONITORING: jmmBoolAttribute = 23;
223pub const jmmBoolAttribute_JMM_THREAD_CPU_TIME: jmmBoolAttribute = 24;
224pub const jmmBoolAttribute_JMM_THREAD_ALLOCATED_MEMORY: jmmBoolAttribute = 25;
225pub type jmmBoolAttribute = ::std::os::raw::c_uint;
226pub const JMM_THREAD_STATE_FLAG_SUSPENDED: ::std::os::raw::c_uint = 1048576;
227pub const JMM_THREAD_STATE_FLAG_NATIVE: ::std::os::raw::c_uint = 4194304;
228pub const jmmStatisticType_JMM_STAT_PEAK_THREAD_COUNT: jmmStatisticType = 801;
229pub const jmmStatisticType_JMM_STAT_THREAD_CONTENTION_COUNT: jmmStatisticType = 802;
230pub const jmmStatisticType_JMM_STAT_THREAD_CONTENTION_TIME: jmmStatisticType = 803;
231pub const jmmStatisticType_JMM_STAT_THREAD_CONTENTION_STAT: jmmStatisticType = 804;
232pub const jmmStatisticType_JMM_STAT_PEAK_POOL_USAGE: jmmStatisticType = 805;
233pub const jmmStatisticType_JMM_STAT_GC_STAT: jmmStatisticType = 806;
234pub type jmmStatisticType = ::std::os::raw::c_uint;
235pub const jmmThresholdType_JMM_USAGE_THRESHOLD_HIGH: jmmThresholdType = 901;
236pub const jmmThresholdType_JMM_USAGE_THRESHOLD_LOW: jmmThresholdType = 902;
237pub const jmmThresholdType_JMM_COLLECTION_USAGE_THRESHOLD_HIGH: jmmThresholdType = 903;
238pub const jmmThresholdType_JMM_COLLECTION_USAGE_THRESHOLD_LOW: jmmThresholdType = 904;
239pub type jmmThresholdType = ::std::os::raw::c_uint;
240pub const jmmVMGlobalType_JMM_VMGLOBAL_TYPE_UNKNOWN: jmmVMGlobalType = 0;
241pub const jmmVMGlobalType_JMM_VMGLOBAL_TYPE_JBOOLEAN: jmmVMGlobalType = 1;
242pub const jmmVMGlobalType_JMM_VMGLOBAL_TYPE_JSTRING: jmmVMGlobalType = 2;
243pub const jmmVMGlobalType_JMM_VMGLOBAL_TYPE_JLONG: jmmVMGlobalType = 3;
244pub const jmmVMGlobalType_JMM_VMGLOBAL_TYPE_JDOUBLE: jmmVMGlobalType = 4;
245pub type jmmVMGlobalType = ::std::os::raw::c_uint;
246pub const jmmVMGlobalOrigin_JMM_VMGLOBAL_ORIGIN_DEFAULT: jmmVMGlobalOrigin = 1;
247pub const jmmVMGlobalOrigin_JMM_VMGLOBAL_ORIGIN_COMMAND_LINE: jmmVMGlobalOrigin = 2;
248pub const jmmVMGlobalOrigin_JMM_VMGLOBAL_ORIGIN_MANAGEMENT: jmmVMGlobalOrigin = 3;
249pub const jmmVMGlobalOrigin_JMM_VMGLOBAL_ORIGIN_ENVIRON_VAR: jmmVMGlobalOrigin = 4;
250pub const jmmVMGlobalOrigin_JMM_VMGLOBAL_ORIGIN_CONFIG_FILE: jmmVMGlobalOrigin = 5;
251pub const jmmVMGlobalOrigin_JMM_VMGLOBAL_ORIGIN_ERGONOMIC: jmmVMGlobalOrigin = 6;
252pub const jmmVMGlobalOrigin_JMM_VMGLOBAL_ORIGIN_ATTACH_ON_DEMAND: jmmVMGlobalOrigin = 7;
253pub const jmmVMGlobalOrigin_JMM_VMGLOBAL_ORIGIN_OTHER: jmmVMGlobalOrigin = 99;
254pub type jmmVMGlobalOrigin = ::std::os::raw::c_uint;
255#[repr(C)]
256#[derive(Copy, Clone)]
257pub struct jmmVMGlobal {
258 pub name: jstring,
259 pub value: jvalue,
260 pub type_: jmmVMGlobalType,
261 pub origin: jmmVMGlobalOrigin,
262 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize], u32>,
263 pub reserved1: *mut ::std::os::raw::c_void,
264 pub reserved2: *mut ::std::os::raw::c_void,
265}
266impl jmmVMGlobal {
267 #[inline]
268 pub fn writeable(&self) -> ::std::os::raw::c_uint {
269 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
270 }
271 #[inline]
272 pub fn set_writeable(&mut self, val: ::std::os::raw::c_uint) {
273 unsafe {
274 let val: u32 = ::std::mem::transmute(val);
275 self._bitfield_1.set(0usize, 1u8, val as u64)
276 }
277 }
278 #[inline]
279 pub fn external(&self) -> ::std::os::raw::c_uint {
280 unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
281 }
282 #[inline]
283 pub fn set_external(&mut self, val: ::std::os::raw::c_uint) {
284 unsafe {
285 let val: u32 = ::std::mem::transmute(val);
286 self._bitfield_1.set(1usize, 1u8, val as u64)
287 }
288 }
289 #[inline]
290 pub fn reserved(&self) -> ::std::os::raw::c_uint {
291 unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) }
292 }
293 #[inline]
294 pub fn set_reserved(&mut self, val: ::std::os::raw::c_uint) {
295 unsafe {
296 let val: u32 = ::std::mem::transmute(val);
297 self._bitfield_1.set(2usize, 30u8, val as u64)
298 }
299 }
300 #[inline]
301 pub fn new_bitfield_1(
302 writeable: ::std::os::raw::c_uint,
303 external: ::std::os::raw::c_uint,
304 reserved: ::std::os::raw::c_uint,
305 ) -> __BindgenBitfieldUnit<[u8; 4usize], u32> {
306 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize], u32> =
307 Default::default();
308 __bindgen_bitfield_unit.set(0usize, 1u8, {
309 let writeable: u32 = unsafe { ::std::mem::transmute(writeable) };
310 writeable as u64
311 });
312 __bindgen_bitfield_unit.set(1usize, 1u8, {
313 let external: u32 = unsafe { ::std::mem::transmute(external) };
314 external as u64
315 });
316 __bindgen_bitfield_unit.set(2usize, 30u8, {
317 let reserved: u32 = unsafe { ::std::mem::transmute(reserved) };
318 reserved as u64
319 });
320 __bindgen_bitfield_unit
321 }
322}
323#[repr(C)]
324#[derive(Debug, Copy, Clone)]
325pub struct jmmExtAttributeInfo {
326 pub name: *const ::std::os::raw::c_char,
327 pub type_: ::std::os::raw::c_char,
328 pub description: *const ::std::os::raw::c_char,
329}
330#[repr(C)]
331#[derive(Debug, Copy, Clone)]
332pub struct jmmGCStat {
333 pub gc_index: jlong,
334 pub start_time: jlong,
335 pub end_time: jlong,
336 pub usage_before_gc: jobjectArray,
337 pub usage_after_gc: jobjectArray,
338 pub gc_ext_attribute_values_size: jint,
339 pub gc_ext_attribute_values: *mut jvalue,
340 pub num_gc_ext_attributes: jint,
341}
342#[repr(C)]
343#[derive(Debug, Copy, Clone)]
344pub struct dcmdInfo {
345 pub name: *const ::std::os::raw::c_char,
346 pub description: *const ::std::os::raw::c_char,
347 pub impact: *const ::std::os::raw::c_char,
348 pub permission_class: *const ::std::os::raw::c_char,
349 pub permission_name: *const ::std::os::raw::c_char,
350 pub permission_action: *const ::std::os::raw::c_char,
351 pub num_arguments: ::std::os::raw::c_int,
352 pub enabled: jboolean,
353}
354#[repr(C)]
355#[derive(Debug, Copy, Clone)]
356pub struct dcmdArgInfo {
357 pub name: *const ::std::os::raw::c_char,
358 pub description: *const ::std::os::raw::c_char,
359 pub type_: *const ::std::os::raw::c_char,
360 pub default_string: *const ::std::os::raw::c_char,
361 pub mandatory: jboolean,
362 pub option: jboolean,
363 pub multiple: jboolean,
364 pub position: ::std::os::raw::c_int,
365}
366#[repr(C)]
367#[derive(Debug, Copy, Clone)]
368pub struct jmmInterface_1_ {
369 pub reserved1: *mut ::std::os::raw::c_void,
370 pub reserved2: *mut ::std::os::raw::c_void,
371 pub GetVersion: ::std::option::Option<unsafe extern "C" fn(env: *mut JNIEnv) -> jint>,
372 pub GetOptionalSupport: ::std::option::Option<
373 unsafe extern "C" fn(env: *mut JNIEnv, support_ptr: *mut jmmOptionalSupport) -> jint,
374 >,
375 pub GetThreadInfo: ::std::option::Option<
376 unsafe extern "C" fn(
377 env: *mut JNIEnv,
378 ids: jlongArray,
379 maxDepth: jint,
380 infoArray: jobjectArray,
381 ) -> jint,
382 >,
383 pub GetMemoryPools:
384 ::std::option::Option<unsafe extern "C" fn(env: *mut JNIEnv, mgr: jobject) -> jobjectArray>,
385 pub GetMemoryManagers: ::std::option::Option<
386 unsafe extern "C" fn(env: *mut JNIEnv, pool: jobject) -> jobjectArray,
387 >,
388 pub GetMemoryPoolUsage:
389 ::std::option::Option<unsafe extern "C" fn(env: *mut JNIEnv, pool: jobject) -> jobject>,
390 pub GetPeakMemoryPoolUsage:
391 ::std::option::Option<unsafe extern "C" fn(env: *mut JNIEnv, pool: jobject) -> jobject>,
392 pub GetOneThreadAllocatedMemory:
393 ::std::option::Option<unsafe extern "C" fn(env: *mut JNIEnv, thread_id: jlong) -> jlong>,
394 pub GetThreadAllocatedMemory: ::std::option::Option<
395 unsafe extern "C" fn(env: *mut JNIEnv, ids: jlongArray, sizeArray: jlongArray),
396 >,
397 pub GetMemoryUsage:
398 ::std::option::Option<unsafe extern "C" fn(env: *mut JNIEnv, heap: jboolean) -> jobject>,
399 pub GetLongAttribute: ::std::option::Option<
400 unsafe extern "C" fn(env: *mut JNIEnv, obj: jobject, att: jmmLongAttribute) -> jlong,
401 >,
402 pub GetBoolAttribute: ::std::option::Option<
403 unsafe extern "C" fn(env: *mut JNIEnv, att: jmmBoolAttribute) -> jboolean,
404 >,
405 pub SetBoolAttribute: ::std::option::Option<
406 unsafe extern "C" fn(env: *mut JNIEnv, att: jmmBoolAttribute, flag: jboolean) -> jboolean,
407 >,
408 pub GetLongAttributes: ::std::option::Option<
409 unsafe extern "C" fn(
410 env: *mut JNIEnv,
411 obj: jobject,
412 atts: *mut jmmLongAttribute,
413 count: jint,
414 result: *mut jlong,
415 ) -> jint,
416 >,
417 pub FindCircularBlockedThreads:
418 ::std::option::Option<unsafe extern "C" fn(env: *mut JNIEnv) -> jobjectArray>,
419 pub GetThreadCpuTime:
420 ::std::option::Option<unsafe extern "C" fn(env: *mut JNIEnv, thread_id: jlong) -> jlong>,
421 pub GetVMGlobalNames:
422 ::std::option::Option<unsafe extern "C" fn(env: *mut JNIEnv) -> jobjectArray>,
423 pub GetVMGlobals: ::std::option::Option<
424 unsafe extern "C" fn(
425 env: *mut JNIEnv,
426 names: jobjectArray,
427 globals: *mut jmmVMGlobal,
428 count: jint,
429 ) -> jint,
430 >,
431 pub GetInternalThreadTimes: ::std::option::Option<
432 unsafe extern "C" fn(env: *mut JNIEnv, names: jobjectArray, times: jlongArray) -> jint,
433 >,
434 pub ResetStatistic: ::std::option::Option<
435 unsafe extern "C" fn(env: *mut JNIEnv, obj: jvalue, type_: jmmStatisticType) -> jboolean,
436 >,
437 pub SetPoolSensor: ::std::option::Option<
438 unsafe extern "C" fn(
439 env: *mut JNIEnv,
440 pool: jobject,
441 type_: jmmThresholdType,
442 sensor: jobject,
443 ),
444 >,
445 pub SetPoolThreshold: ::std::option::Option<
446 unsafe extern "C" fn(
447 env: *mut JNIEnv,
448 pool: jobject,
449 type_: jmmThresholdType,
450 threshold: jlong,
451 ) -> jlong,
452 >,
453 pub GetPoolCollectionUsage:
454 ::std::option::Option<unsafe extern "C" fn(env: *mut JNIEnv, pool: jobject) -> jobject>,
455 pub GetGCExtAttributeInfo: ::std::option::Option<
456 unsafe extern "C" fn(
457 env: *mut JNIEnv,
458 mgr: jobject,
459 ext_info: *mut jmmExtAttributeInfo,
460 count: jint,
461 ) -> jint,
462 >,
463 pub GetLastGCStat: ::std::option::Option<
464 unsafe extern "C" fn(env: *mut JNIEnv, mgr: jobject, gc_stat: *mut jmmGCStat),
465 >,
466 pub GetThreadCpuTimeWithKind: ::std::option::Option<
467 unsafe extern "C" fn(
468 env: *mut JNIEnv,
469 thread_id: jlong,
470 user_sys_cpu_time: jboolean,
471 ) -> jlong,
472 >,
473 pub GetThreadCpuTimesWithKind: ::std::option::Option<
474 unsafe extern "C" fn(
475 env: *mut JNIEnv,
476 ids: jlongArray,
477 timeArray: jlongArray,
478 user_sys_cpu_time: jboolean,
479 ),
480 >,
481 pub DumpHeap0: ::std::option::Option<
482 unsafe extern "C" fn(env: *mut JNIEnv, outputfile: jstring, live: jboolean) -> jint,
483 >,
484 pub FindDeadlocks: ::std::option::Option<
485 unsafe extern "C" fn(env: *mut JNIEnv, object_monitors_only: jboolean) -> jobjectArray,
486 >,
487 pub SetVMGlobal: ::std::option::Option<
488 unsafe extern "C" fn(env: *mut JNIEnv, flag_name: jstring, new_value: jvalue),
489 >,
490 pub reserved6: *mut ::std::os::raw::c_void,
491 pub DumpThreads: ::std::option::Option<
492 unsafe extern "C" fn(
493 env: *mut JNIEnv,
494 ids: jlongArray,
495 lockedMonitors: jboolean,
496 lockedSynchronizers: jboolean,
497 maxDepth: jint,
498 ) -> jobjectArray,
499 >,
500 pub SetGCNotificationEnabled: ::std::option::Option<
501 unsafe extern "C" fn(env: *mut JNIEnv, mgr: jobject, enabled: jboolean),
502 >,
503 pub GetDiagnosticCommands:
504 ::std::option::Option<unsafe extern "C" fn(env: *mut JNIEnv) -> jobjectArray>,
505 pub GetDiagnosticCommandInfo: ::std::option::Option<
506 unsafe extern "C" fn(env: *mut JNIEnv, cmds: jobjectArray, infoArray: *mut dcmdInfo),
507 >,
508 pub GetDiagnosticCommandArgumentsInfo: ::std::option::Option<
509 unsafe extern "C" fn(env: *mut JNIEnv, commandName: jstring, infoArray: *mut dcmdArgInfo),
510 >,
511 pub ExecuteDiagnosticCommand:
512 ::std::option::Option<unsafe extern "C" fn(env: *mut JNIEnv, command: jstring) -> jstring>,
513 pub SetDiagnosticFrameworkNotificationEnabled:
514 ::std::option::Option<unsafe extern "C" fn(env: *mut JNIEnv, enabled: jboolean)>,
515}
516pub type JmmInterface = jmmInterface_1_;