diff options
Diffstat (limited to 'shell/command_line_arguments.ads')
-rw-r--r-- | shell/command_line_arguments.ads | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/shell/command_line_arguments.ads b/shell/command_line_arguments.ads new file mode 100644 index 0000000..4c54bab --- /dev/null +++ b/shell/command_line_arguments.ads @@ -0,0 +1,25 @@ +with Interfaces.C; use Interfaces.C; +with Interfaces.C.Strings; use Interfaces.C.Strings; +with Interfaces.C.Pointers; +with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; + +package Command_Line_Arguments is + + type Argument_Array is array (ptrdiff_t range <>) of aliased chars_ptr; + + package Argument_Vector_Package is new Pointers ( + Index => ptrdiff_t, + Element => chars_ptr, + Element_Array => Argument_Array, + Default_Terminator => Null_Ptr + ); + + subtype Argument_Count_Type is ptrdiff_t; + subtype Argument_Vector_Type is Argument_Vector_Package.Pointer; + + function Get_Argument( + Argv : in Argument_Vector_Type; + Index : Argument_Count_Type + ) return String; + +end Command_Line_Arguments; |