OSDN Git Service

* config/vax/vax.h (target_flags, MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
[pf3gnuchains/gcc-fork.git] / gcc / ada / s-traces.ads
1 ------------------------------------------------------------------------------
2 --                                                                          --
3 --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
4 --                                                                          --
5 --                         S Y S T E M . T R A C E S                        --
6 --                                                                          --
7 --                                  S p e c                                 --
8 --                                                                          --
9 --             Copyright (C) 2001 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 2,  or (at your option) any later ver- --
14 -- sion. GNARL 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.  See the GNU General Public License --
17 -- for  more details.  You should have  received  a copy of the GNU General --
18 -- Public License  distributed with GNARL; see file COPYING.  If not, write --
19 -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
20 -- MA 02111-1307, USA.                                                      --
21 --                                                                          --
22 -- As a special exception,  if other files  instantiate  generics from this --
23 -- unit, or you link  this unit with other files  to produce an executable, --
24 -- this  unit  does not  by itself cause  the resulting  executable  to  be --
25 -- covered  by the  GNU  General  Public  License.  This exception does not --
26 -- however invalidate  any other reasons why  the executable file  might be --
27 -- covered by the  GNU Public License.                                      --
28 --                                                                          --
29 -- GNAT was originally developed  by the GNAT team at  New York University. --
30 -- Extensive contributions were provided by Ada Core Technologies Inc.      --
31 --                                                                          --
32 ------------------------------------------------------------------------------
33
34 --  This package implements functions for traces when tasking is not involved
35
36 --  Warning : NO dependencies to tasking should be created here
37
38 --  This package, and all its children are used to implement debug
39 --  informations
40
41 --  A new primitive, Send_Trace_Info (Id : Trace_T; 'data') is introduced.
42 --  Trace_T is an event identifier, 'data' are the informations to pass
43 --  with the event. Thid procedure is used from within the Runtime to send
44 --  debug informations.
45
46 --  This primitive is overloaded in System.Traces.Tasking and this package.
47
48 --  Send_Trace_Info calls Send_Trace, in System.Traces.Send, which is trarget
49 --  dependent, to send the debug informations to a debugger, stream ..
50
51 --  To add a new event, just add them to the Trace_T type, and write the
52 --  corresponding Send_Trace_Info procedure. It may be required for some
53 --  target to modify Send_Trace (eg. VxWorks).
54
55 --  To add a new target, just adapt System.Traces.Send to your own purpose.
56
57 package System.Traces is
58
59    type Trace_T is
60      (
61       --  Events handled.
62
63       --  Messages
64       --
65       M_Accept_Complete,
66       M_Select_Else,
67       M_RDV_Complete,
68       M_Call_Complete,
69       M_Delay,
70
71       --  Errors
72       --
73       E_Missed,
74       E_Timeout,
75       E_Kill,
76
77       --  Waiting events
78       --
79       W_Call,
80       W_Accept,
81       W_Select,
82       W_Completion,
83       W_Delay,
84       WU_Delay,
85
86       WT_Call,
87       WT_Select,
88       WT_Completion,
89
90       --  Protected objects events
91       --
92       PO_Call,
93       POT_Call,
94       PO_Run,
95       PO_Lock,
96       PO_Unlock,
97       PO_Done,
98
99       --  Task handling events
100       --
101       T_Create,
102       T_Activate,
103       T_Abort,
104       T_Terminate);
105
106    --  Send_Trace_Info procedures
107
108    --  They are overloaded, depending on the parameters passed with
109    --  the event, e.g. Time information, Task name, Accept name ...
110
111    procedure Send_Trace_Info (Id : Trace_T);
112
113    procedure Send_Trace_Info (Id : Trace_T; Timeout : Duration);
114
115 end System.Traces;