TABLE OF CONTENTS


Tashy/CArgv [ Packages ]

[ Top ] [ Packages ]

FUNCTION

  This package provides the data type Chars_Ptr_Ptr which corresponds
  to the char** of C and subprograms for creating and manipulating
  arrays of C strings.

SOURCE

package CArgv is

CArgv/CArgv.Chars_Ptr_Ptr [ Types ]

[ Top ] [ CArgv ] [ Types ]

FUNCTION

 This is C char **

SOURCE

   subtype Chars_Ptr_Ptr is Argv_Pointer.Pointer;

CArgv/CArgv.CNatural [ Types ]

[ Top ] [ CArgv ] [ Types ]

FUNCTION

 Used as natural integer type in C bindings

SOURCE

   subtype CNatural is C.int range 0 .. C.int'Last;

CArgv/CArgv.Vector [ Types ]

[ Top ] [ CArgv ] [ Types ]

FUNCTION

 This is a C-style "argv" vector.

SOURCE

   type Vector is array(CNatural range <>) of aliased C.Strings.chars_ptr;

CArgv/CArgv."&" [ Subprograms ]

[ Top ] [ CArgv ] [ Subprograms ]

FUNCTION

 Construct a Chars_Ptr_Ptr using concat operation.

SOURCE

   function "&;"(Argv: Chars_Ptr_Ptr; Arg: String) return Chars_Ptr_Ptr;

CArgv/CArgv.Arg [ Subprograms ]

[ Top ] [ CArgv ] [ Subprograms ]

FUNCTION

 Returns the Nth argument from Argv.

SOURCE

   function Arg(Argv: Chars_Ptr_Ptr; N: CNatural) return String;

CArgv/CArgv.Argc [ Subprograms ]

[ Top ] [ CArgv ] [ Subprograms ]

FUNCTION

 Returns the number of arguments in a Chars_Ptr_Ptr.

SOURCE

   function Argc(Argv: in Chars_Ptr_Ptr) return CNatural;

CArgv/CArgv.Arguments_To_Array [ Subprograms ]

[ Top ] [ CArgv ] [ Subprograms ]

FUNCTION

 Convert Arguments list to the array of Unbounded_Strings

SOURCE

   function Arguments_To_Array(Argv: Chars_Ptr_Ptr) return Arguments_Array;

CArgv/CArgv.Create [ Subprograms ]

[ Top ] [ CArgv ] [ Subprograms ]

FUNCTION

 Create returns the command line arguments from Ada.Command_Line
 and converts them to a C-style, null-terminated argument vector.

SOURCE

   procedure Create(Argc: out CNatural; Argv: out Chars_Ptr_Ptr);

CArgv/CArgv.Empty [ Subprograms ]

[ Top ] [ CArgv ] [ Subprograms ]

FUNCTION

 An empty Chars_Ptr_Ptr, used for constructors.

SOURCE

   function Empty return Chars_Ptr_Ptr;

CArgv/CArgv.Free [ Subprograms ]

[ Top ] [ CArgv ] [ Subprograms ]

FUNCTION

 Free all space used by Argv.

SOURCE

   procedure Free(Argv: in out Chars_Ptr_Ptr);

CArgv/CArgv.Show [ Subprograms ]

[ Top ] [ CArgv ] [ Subprograms ]

FUNCTION

 Prints Argc and Argv to standard out.

SOURCE

   procedure Show(Argc: in CNatural; Argv: in Chars_Ptr_Ptr);