1 /****************************************************************************
2  *                                                                          *
3  *                         GNAT COMPILER COMPONENTS                         *
4  *                                                                          *
5  *                                 S C O S                                  *
6  *                                                                          *
7  *                              C Header File                               *
8  *                                                                          *
9  *           Copyright (C) 2014-2021, 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 header that corresponds to the Ada package specification for
27    Scos.  It was created manually from scos.ads and must be kept synchronized
28    with changes in this file.  */
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 
35 /* Unit table:  */
36 
37 typedef Int SCO_Unit_Index;
38 
39 struct SCO_Unit_Table_Entry
40   {
41     String_Pointer File_Name;
42     Int File_Index;
43     Nat Dep_Num;
44     Nat From, To;
45   };
46 
47 typedef struct SCO_Unit_Table_Entry *SCO_Unit_Table_Type;
48 
49 extern SCO_Unit_Table_Type scos__sco_unit_table__table;
50 #define SCO_Unit_Table scos__sco_unit_table__table
51 
52 extern Int scos__sco_unit_table__min;
53 #define SCO_Unit_Table_Min scos__sco_unit_table__min
54 
55 extern Int scos__sco_unit_table__last_val;
56 #define SCO_Unit_Table_Last_Val scos__sco_unit_table__last_val
57 
58 
59 /* SCOs table:  */
60 
61 struct Source_Location
62   {
63     Line_Number_Type Line;
64     Column_Number_Type Col;
65   };
66 
67 struct SCO_Table_Entry
68   {
69     struct Source_Location From, To;
70     char C1, C2;
71     bool Last;
72     Source_Ptr Pragma_Sloc;
73     Name_Id Pragma_Aspect_Name;
74   };
75 
76 typedef struct SCO_Table_Entry *SCO_Table_Type;
77 
78 extern SCO_Table_Type scos__sco_table__table;
79 #define SCO_Table scos__sco_table__table
80 
81 extern Int scos__sco_table__min;
82 #define SCO_Table_Min scos__sco_table__min
83 
84 extern Int scos__sco_table__last_val;
85 #define SCO_Table_Last_Val scos__sco_table__last_val
86 
87 #ifdef __cplusplus
88 }
89 #endif
90