4.2.24. GNATCOLL.OS

package GNATCOLL.OS is

   --  Exception raised by low OS level function defined under GNATCOLL.OS
   --  hierarchy.
   OS_Error : exception;

   --  Supported OS types
   type OS_Type is (Windows, Unix, MacOS);

   --  The filename resolution policy of a given file system
   type Filename_Casing_Policy is (
      Lower_Case,  --  case insensitive file system, normalized lower case
      Upper_Case,  --  case insensitive file system, normalized upper case
      Preserving,  --  case insensitive file system, case is preserved
      Sensitive    --  case sensitive file system
      );

   --  The following types are used for OS level function calls.

   --  Equivalent to char * in C
   type C_String is new System.Address;

   Null_C_String  : constant C_String;
   Empty_C_String : constant C_String;

   --  Equivalent to wchar * in C
   type C_WString is new System.Address;

   Null_C_WString  : constant C_WString;
   Empty_C_WString : constant C_WString;

   --  Equivalent of char ** in C
   type C_String_Array is new System.Address;
   Null_C_String_Array : constant C_String_Array;

   --  Equivalent of wchar ** in C
   type C_WString_Array is new System.Address;
   Null_C_WString_Array : constant C_WString_Array;

end GNATCOLL.OS;