summaryrefslogtreecommitdiff
path: root/body/fltk-args_marshal.ads
diff options
context:
space:
mode:
Diffstat (limited to 'body/fltk-args_marshal.ads')
-rw-r--r--body/fltk-args_marshal.ads46
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;
+
+