1 /****************************************************************************
2 * *
3 * GNAT COMPILER COMPONENTS *
4 * *
5 * S C O S *
6 * *
7 * C Header File *
8 * *
9 * Copyright (C) 2014-2023, 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