Ada Programming/Libraries/Ada.Direct IO


Ada. Time-tested, safe and secure.
Ada. Time-tested, safe and secure.

This language feature is available from Ada 95 on.Category:Book:Ada Programming/Ada 95 feature#Ada.Direct IO Ada.Direct_IO is a unit of the Predefined Language Environment since Ada 95.

Category:Book:Ada Programming/Unfinished module#Ada.Direct%20IO

Specification

--                     Standard Ada library specification
--   Copyright (c) 2003-2018 Maxim Reznik <reznikmm@gmail.com>
--   Copyright (c) 2004-2016 AXE Consultants
--   Copyright (c) 2004, 2005, 2006 Ada-Europe
--   Copyright (c) 2000 The MITRE Corporation, Inc.
--   Copyright (c) 1992, 1993, 1994, 1995 Intermetrics, Inc.
--   SPDX-License-Identifier: BSD-3-Clause and LicenseRef-AdaReferenceManual
-- -------------------------------------------------------------------------

with Ada.IO_Exceptions;
generic
   type Element_Type is private;
package Ada.Direct_IO is

   type File_Type is limited private;

   type File_Mode is (In_File, Inout_File, Out_File);
   type Count     is range 0 ..Category:Book:Ada Programming/Pages containing deprecated templates implementation_defined;
   subtype Positive_Count is Count range 1 ..Category:Book:Ada Programming/Pages containing deprecated templates Count'Last;

   --  File management

   procedure Create (File : in out File_Type;
                     Mode : in File_Mode := Inout_File;
                     Name : in String := "";
                     Form : in String := "");

   procedure Open (File : in out File_Type;
                   Mode : in File_Mode;
                   Name : in String;
                   Form : in String := "");

   procedure Close (File : in out File_Type);
   procedure Delete (File : in out File_Type);
   procedure Reset (File : in out File_Type; Mode : in File_Mode);
   procedure Reset (File : in out File_Type);

   function Mode   (File : in File_Type) return File_Mode;
   function Name   (File : in File_Type) return String;
   function Form   (File : in File_Type) return String;

   function Is_Open (File : in File_Type) return Boolean;

   --  Input and output operations

   procedure Read (File : in File_Type; Item : out Element_Type;
                                        From : in  Positive_Count);
   procedure Read (File : in File_Type; Item : out Element_Type);

   procedure Write (File : in File_Type; Item : in Element_Type;
                                         To   : in Positive_Count);
   procedure Write (File : in File_Type; Item : in Element_Type);

   procedure Set_Index (File : in File_Type; To : in Positive_Count);

   function Index (File : in File_Type) return Positive_Count;
   function Size (File : in File_Type) return Count;

   function End_Of_File (File : in File_Type) return Boolean;

   --  Exceptions

   Status_Error : exception renames IO_Exceptions.Category:Book:Ada Programming/Pages containing deprecated templatesStatus_Error;
   Mode_Error   : exception renames IO_Exceptions.Category:Book:Ada Programming/Pages containing deprecated templatesMode_Error;
   Name_Error   : exception renames IO_Exceptions.Category:Book:Ada Programming/Pages containing deprecated templatesName_Error;
   Use_Error    : exception renames IO_Exceptions.Category:Book:Ada Programming/Pages containing deprecated templatesUse_Error;
   Device_Error : exception renames IO_Exceptions.Category:Book:Ada Programming/Pages containing deprecated templatesDevice_Error;
   End_Error    : exception renames IO_Exceptions.Category:Book:Ada Programming/Pages containing deprecated templatesEnd_Error;
   Data_Error   : exception renames IO_Exceptions.Category:Book:Ada Programming/Pages containing deprecated templatesData_Error;

private

   type File_Type is limited null record;

end Ada.Category:Book:Ada Programming/Pages containing deprecated templatesDirect_IO;



See also

Wikibook

External examples

Ada Reference Manual

Ada 95

Ada 2005

Ada 2012

Open-Source Implementations

FSF GNAT

drake

Category:Book:Ada Programming#Libraries/Ada.Direct%20IO%20
Category:Book:Ada Programming Category:Book:Ada Programming/Ada 95 feature Category:Book:Ada Programming/Pages containing deprecated templates Category:Book:Ada Programming/Unfinished module