File : s-trafor-default.ads


   1 ------------------------------------------------------------------------------
   2 --                                                                          --
   3 --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
   4 --                                                                          --
   5 --                  S Y S T E M . T R A C E S . F O R M A T                 --
   6 --                                                                          --
   7 --                                  S p e c                                 --
   8 --                                                                          --
   9 --          Copyright (C) 2001-2009, Free Software Foundation, Inc.         --
  10 --                                                                          --
  11 -- GNARL is free software;  you can redistribute it  and/or modify it under --
  12 -- terms of the  GNU General Public License as published  by the Free Soft- --
  13 -- ware  Foundation;  either version 3,  or (at your option) any later ver- --
  14 -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
  15 -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
  16 -- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
  17 --                                                                          --
  18 --                                                                          --
  19 --                                                                          --
  20 --                                                                          --
  21 --                                                                          --
  22 -- You should have received a copy of the GNU General Public License and    --
  23 -- a copy of the GCC Runtime Library Exception along with this program;     --
  24 -- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
  25 -- <http://www.gnu.org/licenses/>.                                          --
  26 --                                                                          --
  27 -- GNAT was originally developed  by the GNAT team at  New York University. --
  28 -- Extensive contributions were provided by Ada Core Technologies Inc.      --
  29 --                                                                          --
  30 ------------------------------------------------------------------------------
  31 
  32 --  This package implements functions to format run-time traces
  33 
  34 package System.Traces.Format is
  35    pragma Preelaborate;
  36 
  37    Max_Size : constant Integer := 128;
  38    --  Maximum size if event messages
  39 
  40    subtype String_Trace is String (1 .. Max_Size);
  41    --  Specific type in which trace information is stored. An ASCII.NUL
  42    --  character ends the string so that it is compatible with C strings
  43    --  which is useful on some targets (e.g. VxWorks)
  44 
  45    --  These private functions handles String_Trace formatting
  46 
  47    function Format_Trace (Source : String) return String_Trace;
  48    --  Put a String in a String_Trace, truncates the string if necessary.
  49    --  Similar to Head( .. ) found in Ada.Strings.Bounded
  50 
  51    function Append
  52      (Source : String_Trace;
  53       Annex  : String)
  54       return   String_Trace;
  55    pragma Inline (Append);
  56    --  Concatenates two string, similar to & operator from Ada.String.Unbounded
  57 
  58    procedure Send_Trace (Id : Trace_T; Info : String);
  59    --  This function (which is a subunit) send messages to external programs
  60 
  61 end System.Traces.Format;