diff options
author | Jedidiah Barber <contact@jedbarber.id.au> | 2025-03-02 16:06:45 +1300 |
---|---|---|
committer | Jedidiah Barber <contact@jedbarber.id.au> | 2025-03-02 16:06:45 +1300 |
commit | f2352c6df585d817b3613145ec81446f917dcc21 (patch) | |
tree | 3b43830d3f8dc7e9fba186db127d2ddf91b3feda /body/fltk-args_marshal.ads | |
parent | d5fd3906e62969fce7fec7f2fccdc5a7436cbdbc (diff) |
Diffstat (limited to 'body/fltk-args_marshal.ads')
-rw-r--r-- | body/fltk-args_marshal.ads | 46 |
1 files changed, 46 insertions, 0 deletions
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; + + |