1 /****************************************************************************
2  *                                                                          *
3  *                         GNAT COMPILER COMPONENTS                         *
4  *                                                                          *
5  *                                 S C O S                                  *
6  *                                                                          *
7  *                              C Header File                               *
8  *                                                                          *
9  *           Copyright (C) 2014-2019, Free Software Foundation, Inc.        *
10  *                                                                          *
11  * GNAT 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.  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 GNAT; see file COPYING3.  If not, go to *
19  * http://www.gnu.org/licenses for a complete copy of the license.          *
20  *                                                                          *
21  * GNAT was originally developed  by the GNAT team at  New York University. *
22  * Extensive contributions were provided by Ada Core Technologies Inc.      *
23  *                                                                          *
24  ****************************************************************************/
25 
26 /* This is the C file that corresponds to the Ada package spec SCOs.  It was
27    created manually from the file scos.ads.  */
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 
34 /* Unit table:  */
35 
36 typedef Int SCO_Unit_Index;
37 
38 struct SCO_Unit_Table_Entry
39   {
40     String_Pointer File_Name;
41     Int File_Index;
42     Nat Dep_Num;
43     Nat From, To;
44   };
45 
46 typedef struct SCO_Unit_Table_Entry *SCO_Unit_Table_Type;
47 
48 extern SCO_Unit_Table_Type scos__sco_unit_table__table;
49 #define SCO_Unit_Table scos__sco_unit_table__table
50 
51 extern Int scos__sco_unit_table__min;
52 #define SCO_Unit_Table_Min scos__sco_unit_table__min
53 
54 extern Int scos__sco_unit_table__last_val;
55 #define SCO_Unit_Table_Last_Val scos__sco_unit_table__last_val
56 
57 
58 /* SCOs table:  */
59 
60 struct Source_Location
61   {
62     Line_Number_Type Line;
63     Column_Number_Type Col;
64   };
65 
66 struct SCO_Table_Entry
67   {
68     struct Source_Location From, To;
69     char C1, C2;
70     bool Last;
71     Source_Ptr Pragma_Sloc;
72     Name_Id Pragma_Aspect_Name;
73   };
74 
75 typedef struct SCO_Table_Entry *SCO_Table_Type;
76 
77 extern SCO_Table_Type scos__sco_table__table;
78 #define SCO_Table scos__sco_table__table
79 
80 extern Int scos__sco_table__min;
81 #define SCO_Table_Min scos__sco_table__min
82 
83 extern Int scos__sco_table__last_val;
84 #define SCO_Table_Last_Val scos__sco_table__last_val
85 
86 #ifdef __cplusplus
87 }
88 #endif
89