Skip to content

Commit 2178047

Browse files
hyperpolymathclaude
andcommitted
feat: add system-tools directory (ambulances, contracts, monitoring, recovery)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent eea5b13 commit 2178047

13 files changed

Lines changed: 834 additions & 0 deletions
Lines changed: 282 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,282 @@
1+
pragma Warnings (Off);
2+
pragma Ada_95;
3+
pragma Source_File_Name (ada_main, Spec_File_Name => "b__network_ambulance_tui.ads");
4+
pragma Source_File_Name (ada_main, Body_File_Name => "b__network_ambulance_tui.adb");
5+
pragma Suppress (Overflow_Check);
6+
with Ada.Exceptions;
7+
8+
package body ada_main is
9+
10+
E077 : Short_Integer; pragma Import (Ada, E077, "system__os_lib_E");
11+
E010 : Short_Integer; pragma Import (Ada, E010, "ada__exceptions_E");
12+
E015 : Short_Integer; pragma Import (Ada, E015, "system__soft_links_E");
13+
E026 : Short_Integer; pragma Import (Ada, E026, "system__exception_table_E");
14+
E042 : Short_Integer; pragma Import (Ada, E042, "ada__containers_E");
15+
E072 : Short_Integer; pragma Import (Ada, E072, "ada__io_exceptions_E");
16+
E033 : Short_Integer; pragma Import (Ada, E033, "ada__numerics_E");
17+
E057 : Short_Integer; pragma Import (Ada, E057, "ada__strings_E");
18+
E059 : Short_Integer; pragma Import (Ada, E059, "ada__strings__maps_E");
19+
E062 : Short_Integer; pragma Import (Ada, E062, "ada__strings__maps__constants_E");
20+
E047 : Short_Integer; pragma Import (Ada, E047, "interfaces__c_E");
21+
E027 : Short_Integer; pragma Import (Ada, E027, "system__exceptions_E");
22+
E088 : Short_Integer; pragma Import (Ada, E088, "system__object_reader_E");
23+
E052 : Short_Integer; pragma Import (Ada, E052, "system__dwarf_lines_E");
24+
E022 : Short_Integer; pragma Import (Ada, E022, "system__soft_links__initialize_E");
25+
E041 : Short_Integer; pragma Import (Ada, E041, "system__traceback__symbolic_E");
26+
E149 : Short_Integer; pragma Import (Ada, E149, "ada__assertions_E");
27+
E111 : Short_Integer; pragma Import (Ada, E111, "ada__strings__utf_encoding_E");
28+
E119 : Short_Integer; pragma Import (Ada, E119, "ada__tags_E");
29+
E109 : Short_Integer; pragma Import (Ada, E109, "ada__strings__text_buffers_E");
30+
E127 : Short_Integer; pragma Import (Ada, E127, "ada__streams_E");
31+
E143 : Short_Integer; pragma Import (Ada, E143, "system__file_control_block_E");
32+
E138 : Short_Integer; pragma Import (Ada, E138, "system__finalization_root_E");
33+
E136 : Short_Integer; pragma Import (Ada, E136, "ada__finalization_E");
34+
E135 : Short_Integer; pragma Import (Ada, E135, "system__file_io_E");
35+
E008 : Short_Integer; pragma Import (Ada, E008, "ada__calendar_E");
36+
E006 : Short_Integer; pragma Import (Ada, E006, "ada__calendar__delays_E");
37+
E125 : Short_Integer; pragma Import (Ada, E125, "ada__text_io_E");
38+
E145 : Short_Integer; pragma Import (Ada, E145, "network_state_E");
39+
E153 : Short_Integer; pragma Import (Ada, E153, "tui_display_E");
40+
41+
Sec_Default_Sized_Stacks : array (1 .. 1) of aliased System.Secondary_Stack.SS_Stack (System.Parameters.Runtime_Default_Sec_Stack_Size);
42+
43+
Local_Priority_Specific_Dispatching : constant String := "";
44+
Local_Interrupt_States : constant String := "";
45+
46+
Is_Elaborated : Boolean := False;
47+
48+
procedure finalize_library is
49+
begin
50+
E125 := E125 - 1;
51+
declare
52+
procedure F1;
53+
pragma Import (Ada, F1, "ada__text_io__finalize_spec");
54+
begin
55+
F1;
56+
end;
57+
declare
58+
procedure F2;
59+
pragma Import (Ada, F2, "system__file_io__finalize_body");
60+
begin
61+
E135 := E135 - 1;
62+
F2;
63+
end;
64+
declare
65+
procedure Reraise_Library_Exception_If_Any;
66+
pragma Import (Ada, Reraise_Library_Exception_If_Any, "__gnat_reraise_library_exception_if_any");
67+
begin
68+
Reraise_Library_Exception_If_Any;
69+
end;
70+
end finalize_library;
71+
72+
procedure adafinal is
73+
procedure s_stalib_adafinal;
74+
pragma Import (Ada, s_stalib_adafinal, "system__standard_library__adafinal");
75+
76+
procedure Runtime_Finalize;
77+
pragma Import (C, Runtime_Finalize, "__gnat_runtime_finalize");
78+
79+
begin
80+
if not Is_Elaborated then
81+
return;
82+
end if;
83+
Is_Elaborated := False;
84+
Runtime_Finalize;
85+
s_stalib_adafinal;
86+
end adafinal;
87+
88+
type No_Param_Proc is access procedure;
89+
pragma Favor_Top_Level (No_Param_Proc);
90+
91+
procedure adainit is
92+
Main_Priority : Integer;
93+
pragma Import (C, Main_Priority, "__gl_main_priority");
94+
Time_Slice_Value : Integer;
95+
pragma Import (C, Time_Slice_Value, "__gl_time_slice_val");
96+
WC_Encoding : Character;
97+
pragma Import (C, WC_Encoding, "__gl_wc_encoding");
98+
Locking_Policy : Character;
99+
pragma Import (C, Locking_Policy, "__gl_locking_policy");
100+
Queuing_Policy : Character;
101+
pragma Import (C, Queuing_Policy, "__gl_queuing_policy");
102+
Task_Dispatching_Policy : Character;
103+
pragma Import (C, Task_Dispatching_Policy, "__gl_task_dispatching_policy");
104+
Priority_Specific_Dispatching : System.Address;
105+
pragma Import (C, Priority_Specific_Dispatching, "__gl_priority_specific_dispatching");
106+
Num_Specific_Dispatching : Integer;
107+
pragma Import (C, Num_Specific_Dispatching, "__gl_num_specific_dispatching");
108+
Main_CPU : Integer;
109+
pragma Import (C, Main_CPU, "__gl_main_cpu");
110+
Interrupt_States : System.Address;
111+
pragma Import (C, Interrupt_States, "__gl_interrupt_states");
112+
Num_Interrupt_States : Integer;
113+
pragma Import (C, Num_Interrupt_States, "__gl_num_interrupt_states");
114+
Unreserve_All_Interrupts : Integer;
115+
pragma Import (C, Unreserve_All_Interrupts, "__gl_unreserve_all_interrupts");
116+
Exception_Tracebacks : Integer;
117+
pragma Import (C, Exception_Tracebacks, "__gl_exception_tracebacks");
118+
Exception_Tracebacks_Symbolic : Integer;
119+
pragma Import (C, Exception_Tracebacks_Symbolic, "__gl_exception_tracebacks_symbolic");
120+
Detect_Blocking : Integer;
121+
pragma Import (C, Detect_Blocking, "__gl_detect_blocking");
122+
Default_Stack_Size : Integer;
123+
pragma Import (C, Default_Stack_Size, "__gl_default_stack_size");
124+
Default_Secondary_Stack_Size : System.Parameters.Size_Type;
125+
pragma Import (C, Default_Secondary_Stack_Size, "__gnat_default_ss_size");
126+
Bind_Env_Addr : System.Address;
127+
pragma Import (C, Bind_Env_Addr, "__gl_bind_env_addr");
128+
Interrupts_Default_To_System : Integer;
129+
pragma Import (C, Interrupts_Default_To_System, "__gl_interrupts_default_to_system");
130+
131+
procedure Runtime_Initialize (Install_Handler : Integer);
132+
pragma Import (C, Runtime_Initialize, "__gnat_runtime_initialize");
133+
134+
Finalize_Library_Objects : No_Param_Proc;
135+
pragma Import (C, Finalize_Library_Objects, "__gnat_finalize_library_objects");
136+
Binder_Sec_Stacks_Count : Natural;
137+
pragma Import (Ada, Binder_Sec_Stacks_Count, "__gnat_binder_ss_count");
138+
Default_Sized_SS_Pool : System.Address;
139+
pragma Import (Ada, Default_Sized_SS_Pool, "__gnat_default_ss_pool");
140+
141+
begin
142+
if Is_Elaborated then
143+
return;
144+
end if;
145+
Is_Elaborated := True;
146+
Main_Priority := -1;
147+
Time_Slice_Value := -1;
148+
WC_Encoding := 'b';
149+
Locking_Policy := ' ';
150+
Queuing_Policy := ' ';
151+
Task_Dispatching_Policy := ' ';
152+
Priority_Specific_Dispatching :=
153+
Local_Priority_Specific_Dispatching'Address;
154+
Num_Specific_Dispatching := 0;
155+
Main_CPU := -1;
156+
Interrupt_States := Local_Interrupt_States'Address;
157+
Num_Interrupt_States := 0;
158+
Unreserve_All_Interrupts := 0;
159+
Exception_Tracebacks := 1;
160+
Exception_Tracebacks_Symbolic := 1;
161+
Detect_Blocking := 0;
162+
Default_Stack_Size := -1;
163+
164+
ada_main'Elab_Body;
165+
Default_Secondary_Stack_Size := System.Parameters.Runtime_Default_Sec_Stack_Size;
166+
Binder_Sec_Stacks_Count := 1;
167+
Default_Sized_SS_Pool := Sec_Default_Sized_Stacks'Address;
168+
169+
Runtime_Initialize (1);
170+
171+
Finalize_Library_Objects := finalize_library'access;
172+
173+
Ada.Exceptions'Elab_Spec;
174+
System.Soft_Links'Elab_Spec;
175+
System.Exception_Table'Elab_Body;
176+
E026 := E026 + 1;
177+
Ada.Containers'Elab_Spec;
178+
E042 := E042 + 1;
179+
Ada.Io_Exceptions'Elab_Spec;
180+
E072 := E072 + 1;
181+
Ada.Numerics'Elab_Spec;
182+
E033 := E033 + 1;
183+
Ada.Strings'Elab_Spec;
184+
E057 := E057 + 1;
185+
Ada.Strings.Maps'Elab_Spec;
186+
E059 := E059 + 1;
187+
Ada.Strings.Maps.Constants'Elab_Spec;
188+
E062 := E062 + 1;
189+
Interfaces.C'Elab_Spec;
190+
E047 := E047 + 1;
191+
System.Exceptions'Elab_Spec;
192+
E027 := E027 + 1;
193+
System.Object_Reader'Elab_Spec;
194+
E088 := E088 + 1;
195+
System.Dwarf_Lines'Elab_Spec;
196+
E052 := E052 + 1;
197+
System.Os_Lib'Elab_Body;
198+
E077 := E077 + 1;
199+
System.Soft_Links.Initialize'Elab_Body;
200+
E022 := E022 + 1;
201+
E015 := E015 + 1;
202+
System.Traceback.Symbolic'Elab_Body;
203+
E041 := E041 + 1;
204+
E010 := E010 + 1;
205+
Ada.Assertions'Elab_Spec;
206+
E149 := E149 + 1;
207+
Ada.Strings.Utf_Encoding'Elab_Spec;
208+
E111 := E111 + 1;
209+
Ada.Tags'Elab_Spec;
210+
Ada.Tags'Elab_Body;
211+
E119 := E119 + 1;
212+
Ada.Strings.Text_Buffers'Elab_Spec;
213+
E109 := E109 + 1;
214+
Ada.Streams'Elab_Spec;
215+
E127 := E127 + 1;
216+
System.File_Control_Block'Elab_Spec;
217+
E143 := E143 + 1;
218+
System.Finalization_Root'Elab_Spec;
219+
E138 := E138 + 1;
220+
Ada.Finalization'Elab_Spec;
221+
E136 := E136 + 1;
222+
System.File_Io'Elab_Body;
223+
E135 := E135 + 1;
224+
Ada.Calendar'Elab_Spec;
225+
Ada.Calendar'Elab_Body;
226+
E008 := E008 + 1;
227+
Ada.Calendar.Delays'Elab_Body;
228+
E006 := E006 + 1;
229+
Ada.Text_Io'Elab_Spec;
230+
Ada.Text_Io'Elab_Body;
231+
E125 := E125 + 1;
232+
E145 := E145 + 1;
233+
E153 := E153 + 1;
234+
end adainit;
235+
236+
procedure Ada_Main_Program;
237+
pragma Import (Ada, Ada_Main_Program, "_ada_network_ambulance_tui");
238+
239+
function main
240+
(argc : Integer;
241+
argv : System.Address;
242+
envp : System.Address)
243+
return Integer
244+
is
245+
procedure Initialize (Addr : System.Address);
246+
pragma Import (C, Initialize, "__gnat_initialize");
247+
248+
procedure Finalize;
249+
pragma Import (C, Finalize, "__gnat_finalize");
250+
SEH : aliased array (1 .. 2) of Integer;
251+
252+
Ensure_Reference : aliased System.Address := Ada_Main_Program_Name'Address;
253+
pragma Volatile (Ensure_Reference);
254+
255+
begin
256+
if gnat_argc = 0 then
257+
gnat_argc := argc;
258+
gnat_argv := argv;
259+
end if;
260+
gnat_envp := envp;
261+
262+
Initialize (SEH'Address);
263+
adainit;
264+
Ada_Main_Program;
265+
adafinal;
266+
Finalize;
267+
return (gnat_exit_status);
268+
end;
269+
270+
-- BEGIN Object file/option list
271+
-- /var/mnt/eclipse/repos/network-ambulance/obj/ada/network_state.o
272+
-- /var/mnt/eclipse/repos/network-ambulance/obj/ada/tui_display.o
273+
-- /var/mnt/eclipse/repos/network-ambulance/obj/ada/network_ambulance_tui.o
274+
-- -L/var/mnt/eclipse/repos/network-ambulance/obj/ada/
275+
-- -L/var/mnt/eclipse/repos/network-ambulance/obj/ada/
276+
-- -L/usr/lib/gcc/x86_64-redhat-linux/15/adalib/
277+
-- -static
278+
-- -lgnat
279+
-- -ldl
280+
-- END Object file/option list
281+
282+
end ada_main;

0 commit comments

Comments
 (0)