----------------------------------------------------------------------- -- util-systems-io -- System low level and raw IO operations -- Copyright (C) 2023 Stephane Carrez -- Written by Stephane Carrez (Stephane.Carrez@gmail.com) -- -- Licensed under the Apache License, Version 2.0 (the "License"); -- you may not use this file except in compliance with the License. -- You may obtain a copy of the License at -- -- http://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. ----------------------------------------------------------------------- with Ada.Strings.UTF_Encoding; with Util.Systems.Types; with Util.Systems.Os; package Util.Systems.IO is subtype File_Type is Util.Systems.Types.File_Type; STDIN_FILENO : constant File_Type := Util.Systems.Os.STDIN_FILENO; STDOUT_FILENO : constant File_Type := Util.Systems.Os.STDOUT_FILENO; STDERR_FILENO : constant File_Type := Util.Systems.Os.STDERR_FILENO; -- Write the Latin-1 string and encode it in UTF-8. procedure Put (File : in File_Type; Content : in String); procedure Put (File : in File_Type; C : in Character); -- Write the string or wide character content using UTF-8 encoding. procedure Put_UTF_8 (File : in File_Type; Content : in Wide_Wide_String); procedure Put_UTF_8 (File : in File_Type; C : in Wide_Wide_Character); -- Write the string considered as a sequence of bytes (no change). procedure Put_Raw (File : in File_Type; Content : in Ada.Strings.UTF_Encoding.UTF_8_String); end Util.Systems.IO;