package org.jerlang.erts.erlang; import org.jerlang.type.Atom; import org.jerlang.type.List; import org.jerlang.type.Term; public class ErlangSystemInfo { public enum Terms { allocated_areas, allocator, allocator_sizes, alloc_util_allocators, build_type, check_io, compat_rel, cpu_topology, creation, c_compiler_used, debug_compiled, delayed_node_table_gc, dirty_cpu_schedulers, dirty_cpu_schedulers_online, dirty_io_schedulers, dist, dist_buf_busy_limit, dist_ctrl, driver_version, dynamic_trace, dynamic_trace_probes, eager_check_io, elib_malloc, end_time, ets_limit, fullsweep_after, garbage_collection, heap_sizes, heap_type, info, kernel_poll, loaded, logical_processors, logical_processors_available, logical_processors_online, machine, min_bin_vheap_size, min_heap_size, modified_timing_level, multi_scheduling, multi_scheduling_blockers, nif_version, os_monotonic_time_source, os_system_time_source, otp_release, port_count, port_limit, port_parallelism, process_count, process_limit, procs, schedulers, schedulers_online, scheduler_bindings, scheduler_bind_type, scheduler_id, smp_support, start_time, system_architecture, system_version, threads, thread_pool_size, time_correction, time_offset, time_warp_mode, tolerant_timeofday, trace_control_word, update_cpu_info, version, wordsize; private final Atom atom; private Terms() { this.atom = Atom.of(name()); } public Atom atom() { return atom; } } private ErlangSystemInfo() { } public static Term dispatch(List params) throws Error { switch (params.length()) { case 1: return system_info_1(params.head()); default: throw Error.badarg; } } /** * Returns various information about the allocators of the * current system (emulator) as specified by Item: * * http://www.erlang.org/doc/man/erlang.html#system_info-1 */ public static Term system_info_1(Term term) throws Error { return null; } }