Merge branch 'upstream'
[routino] / src / typesx.h
1 /***************************************
2  $Header: /home/amb/routino/src/RCS/typesx.h,v 1.4 2010/09/17 17:42:21 amb Exp $
3
4  Type definitions for eXtended types.
5
6  Part of the Routino routing software.
7  ******************/ /******************
8  This file Copyright 2008-2010 Andrew M. Bishop
9
10  This program is free software: you can redistribute it and/or modify
11  it under the terms of the GNU Affero General Public License as published by
12  the Free Software Foundation, either version 3 of the License, or
13  (at your option) any later version.
14
15  This program is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  GNU Affero General Public License for more details.
19
20  You should have received a copy of the GNU Affero General Public License
21  along with this program.  If not, see <http://www.gnu.org/licenses/>.
22  ***************************************/
23
24
25 #ifndef TYPESX_H
26 #define TYPESX_H    /*+ To stop multiple inclusions. +*/
27
28
29 #include <stdint.h>
30
31
32 /* Simple Types */
33
34 /*+ A node identifier - must be at least as large as index_t. +*/
35 typedef uint32_t node_t;
36
37 /*+ A way identifier - must be at least as large as index_t. +*/
38 typedef uint32_t way_t;
39
40 /*+ A relation identifier - must be at least as large as index_t. +*/
41 typedef uint32_t relation_t;
42
43
44 /* Data structures */
45
46 typedef struct _NodeX NodeX;
47
48 typedef struct _NodesX NodesX;
49
50 typedef struct _SegmentX SegmentX;
51
52 typedef struct _SegmentsX SegmentsX;
53
54 typedef struct _WayX WayX;
55
56 typedef struct _WaysX WaysX;
57
58 typedef struct _RouteRelX RouteRelX;
59
60 typedef struct _RelationsX RelationsX;
61
62
63 #endif /* TYPESX_H */