1/****************************************************************************
2 *                                                                          *
3 *                         GNAT COMPILER COMPONENTS                         *
4 *                                                                          *
5 *                                 S C O S                                  *
6 *                                                                          *
7 *                              C Header File                               *
8 *                                                                          *
9 *            Copyright (C) 2014, 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
30extern "C" {
31#endif
32
33
34/* Unit table:  */
35
36typedef Int SCO_Unit_Index;
37
38struct SCO_Unit_Table_Entry
39  {
40    String_Pointer File_Name;
41    Int File_Index;
42    Nat Dep_Num;
43    Nat From, To;
44  };
45
46typedef struct SCO_Unit_Table_Entry *SCO_Unit_Table_Type;
47
48extern SCO_Unit_Table_Type scos__sco_unit_table__table;
49#define SCO_Unit_Table scos__sco_unit_table__table
50
51extern Int scos__sco_unit_table__min;
52#define SCO_Unit_Table_Min scos__sco_unit_table__min
53
54extern 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
60struct Source_Location
61  {
62    Line_Number_Type Line;
63    Column_Number_Type Col;
64  };
65
66struct 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
75typedef struct SCO_Table_Entry *SCO_Table_Type;
76
77extern SCO_Table_Type scos__sco_table__table;
78#define SCO_Table scos__sco_table__table
79
80extern Int scos__sco_table__min;
81#define SCO_Table_Min scos__sco_table__min
82
83extern 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