Routino SVN Repository Browser

Check out the latest version of Routino: svn co http://routino.org/svn/trunk routino

ViewVC logotype

Contents of /trunk/src/functions.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 326 - (show annotations) (download) (as text)
Fri Mar 19 19:47:10 2010 UTC (15 years ago) by amb
File MIME type: text/x-chdr
File size: 3470 byte(s)
Allow planetsplitter to be run with a --parse-only or --process-only option and
append to existing file or read from existing file.

1 /***************************************
2 $Header: /home/amb/CVS/routino/src/functions.h,v 1.49 2010-03-19 19:47:09 amb Exp $
3
4 Header file for function prototypes
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 FUNCTIONS_H
26 #define FUNCTIONS_H /*+ To stop multiple inclusions. +*/
27
28 #include <stdio.h>
29
30 #include "types.h"
31 #include "profiles.h"
32 #include "results.h"
33
34
35 /* In router.c */
36
37 /*+ Return true if this is a fake node. +*/
38 #define IsFakeNode(xxx) ((xxx)&NODE_SUPER)
39
40 index_t CreateFakes(Nodes *nodes,int point,Segment *segment,index_t node1,index_t node2,distance_t dist1,distance_t dist2);
41
42 void GetFakeLatLong(index_t node, double *latitude,double *longitude);
43
44 Segment *FirstFakeSegment(index_t node);
45 Segment *NextFakeSegment(Segment *segment,index_t node);
46 Segment *ExtraFakeSegment(index_t node,index_t fakenode);
47
48
49 /* In files.c */
50
51 char *FileName(const char *dirname,const char *prefix, const char *name);
52
53 void *MapFile(const char *filename);
54 void *UnmapFile(const char *filename);
55
56 int OpenFile(const char *filename);
57 int AppendFile(const char *filename);
58 int ReOpenFile(const char *filename);
59
60 int WriteFile(int fd,const void *address,size_t length);
61 int ReadFile(int fd,void *address,size_t length);
62 int SeekFile(int fd,size_t position);
63
64 void CloseFile(int fd);
65
66 int DeleteFile(char *filename);
67
68
69 /* In optimiser.c */
70
71 Results *FindNormalRoute(Nodes *nodes,Segments *segments,Ways *ways,index_t start,index_t finish,Profile *profile);
72 Results *FindMiddleRoute(Nodes *supernodes,Segments *supersegments,Ways *superways,Results *begin,Results *end,Profile *profile);
73
74 Results *FindStartRoutes(Nodes *nodes,Segments *segments,Ways *ways,index_t start,Profile *profile);
75 Results *FindFinishRoutes(Nodes *nodes,Segments *segments,Ways *ways,index_t finish,Profile *profile);
76
77 Results *CombineRoutes(Results *results,Nodes *nodes,Segments *segments,Ways *ways,Profile *profile);
78
79 void FixForwardRoute(Results *results,index_t finish);
80
81
82 /* In output.c */
83
84 void PrintRouteHead(const char *copyright);
85 void PrintRoute(Results **results,int nresults,Nodes *nodes,Segments *segments,Ways *ways,Profile *profile);
86 void PrintRouteTail(void);
87
88
89 /* In sorting.c */
90
91 /*+ The type and size of variable to store the variable length +*/
92 #define FILESORT_VARINT unsigned short
93 #define FILESORT_VARSIZE sizeof(FILESORT_VARINT)
94
95 void filesort_fixed(int fd_in,int fd_out,size_t itemsize,int (*compare)(const void*,const void*),int (*buildindex)(void*,index_t));
96
97 void filesort_vary(int fd_in,int fd_out,int (*compare)(const void*,const void*),int (*buildindex)(void*,index_t));
98
99 void heapsort(void **datap,size_t nitems,int(*compare)(const void*, const void*));
100
101
102 #endif /* FUNCTIONS_H */

Properties

Name Value
cvs:description Function prototypes.