diff options
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; + + |