with Interfaces.C;         use Interfaces.C;
with Interfaces.C.Strings; use Interfaces.C.Strings;
with Ada.Finalization;     use Ada.Finalization;

package Jwa.Strings is
   pragma Preelaborate;

   subtype Char_8 is char;
   subtype Char_8_Ptr is char_array_access;
   type Char_8_CPtr is access constant char;

   type String_8 is new Controlled with record
      p : Char_8_Ptr;
   end record;

   type CString_8 is new Controlled with record
      p : Char_8_CPtr;
   end record;

private
   procedure Adjust (Object : in out String_8);
   procedure Finalize (Object : in out String_8);

end Jwa.Strings;
