1%%
2%% %CopyrightBegin%
3%%
4%% Copyright Ericsson AB 2003-2018. All Rights Reserved.
5%%
6%% Licensed under the Apache License, Version 2.0 (the "License");
7%% you may not use this file except in compliance with the License.
8%% You may obtain a copy of the License at
9%%
10%%     http://www.apache.org/licenses/LICENSE-2.0
11%%
12%% Unless required by applicable law or agreed to in writing, software
13%% distributed under the License is distributed on an "AS IS" BASIS,
14%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15%% See the License for the specific language governing permissions and
16%% limitations under the License.
17%%
18%% %CopyrightEnd%
19%%
20-define(space, undefined).
21-define(unknown, "unknown").
22-define(r16b01_dump_vsn, [0,2]). % =erl_crash_dump:0.2
23
24-record(menu_item,{index,picture,text,depth,children,state,target}).
25
26-record(general_info,
27	{created,
28	 slogan,
29	 system_vsn,
30	 compile_time,
31	 taints,
32	 node_name,
33	 num_atoms,
34	 num_procs,
35	 num_ets,
36	 num_timers,
37	 num_fun,
38	 mem_tot,
39	 mem_max,
40	 instr_info,
41	 thread
42	}).
43
44-record(proc,
45	%% Initial data according to the follwoing:
46	%%
47	%% msg_q_len, reds, memory and stack_heap are integers because it must
48	%% be possible to sort on them. All other fields are strings
49	%%
50	%% for old dumps start_time, parent and number of heap framents
51	%% do not exist
52	%%
53	%% current_func can be both "current function" and
54	%% "last scheduled in for"
55	%%
56	%% stack_dump, message queue and dictionaries should only be
57	%% displayed as a link to "Expand" (if dump is from OTP R9B
58	%% or newer)
59	{pid,
60	 name,
61	 init_func,
62	 parent=?unknown,
63	 start_time=?unknown,
64	 state,
65	 current_func,
66	 msg_q_len=0,
67	 msg_q,
68	 last_calls,
69	 links,
70	 monitors,
71	 mon_by,
72	 prog_count,
73	 cp,
74	 arity,
75	 dict,
76	 reds=0,
77	 num_heap_frag=?unknown,
78	 heap_frag_data,
79	 stack_heap=0,
80	 old_heap,
81	 heap_unused,
82	 old_heap_unused,
83         bin_vheap,
84         old_bin_vheap,
85         bin_vheap_unused,
86         old_bin_vheap_unused,
87	 new_heap_start,
88	 new_heap_top,
89	 stack_top,
90	 stack_end,
91	 old_heap_start,
92	 old_heap_top,
93	 old_heap_end,
94	 memory,
95	 stack_dump,
96	 run_queue=?unknown,
97	 int_state
98	}).
99
100-record(port,
101	{id,
102         state,
103         task_flags=0,
104	 slot,
105	 connected,
106	 links,
107	 name,
108	 monitors,
109         suspended,
110	 controls,
111         input,
112         output,
113         queue,
114         port_data}).
115
116-record(sched,
117	{name,
118         type,
119	 process,
120	 port,
121	 run_q=0,
122	 port_q,
123	 details=#{}
124	}).
125
126
127
128-record(ets_table,
129	{pid,
130	 slot,
131	 id,
132	 name,
133         is_named,
134	 data_type="hash",
135	 buckets="-",
136	 size,
137	 memory,
138	 details= #{}
139	}).
140
141-record(timer,
142	{pid,
143	 name,
144	 msg,
145	 time}).
146
147-record(fu,
148	{module,
149	 uniq,
150	 index,
151	 address,
152	 native_address,
153	 refc}).
154
155-record(nod,
156	{name,
157	 channel,
158	 conn_type,
159	 controller,
160	 creation,
161	 remote_links=[],
162	 remote_mon=[],
163	 remote_mon_by=[],
164	 error}).
165
166-record(loaded_mod,
167	{mod,
168	 current_size,
169	 current_attrib,
170	 current_comp_info,
171	 old_size,
172	 old_attrib,
173	 old_comp_info}).
174
175-record(hash_table,
176	{name,
177	 size,
178	 used,
179	 objs,
180	 depth}).
181
182-record(index_table,
183	{name,
184	 size,
185	 limit,
186	 used,
187	 rate,
188	 entries}).
189