From f2352c6df585d817b3613145ec81446f917dcc21 Mon Sep 17 00:00:00 2001 From: Jedidiah Barber Date: Sun, 2 Mar 2025 16:06:45 +1300 Subject: Filled holes in FLTK.Static API --- body/fltk-args_marshal.ads | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 body/fltk-args_marshal.ads (limited to 'body/fltk-args_marshal.ads') diff --git a/body/fltk-args_marshal.ads b/body/fltk-args_marshal.ads new file mode 100644 index 0000000..b19c182 --- /dev/null +++ b/body/fltk-args_marshal.ads @@ -0,0 +1,46 @@ + + +-- Programmed by Jedidiah Barber +-- Released into the public domain + + +with + + Interfaces.C.Strings; + + +private package FLTK.Args_Marshal is + + + function Create_Argv + return Interfaces.C.Strings.chars_ptr_array; + + procedure Free_Argv + (Argv : in out Interfaces.C.Strings.chars_ptr_array); + + + + + -- Used for implementing show(argc,argv) + + -- Dispatch marshalls the data, calls the function, then does cleanup + + type Show_With_Args_Func is access procedure + (CObj : in Storage.Integer_Address; + Argc : in Interfaces.C.int; + Argv : in Storage.Integer_Address); + + procedure Dispatch + (Func : in Show_With_Args_Func; + CObj : in Storage.Integer_Address); + + +private + + + pragma Convention (C, Show_With_Args_Func); + + +end FLTK.Args_Marshal; + + -- cgit