Check out the latest version of Routino: svn co http://routino.org/svn/trunk routino
Annotation of /branches/MS-Windows/src/files.h
Parent Directory
|
Revision Log
Revision 507 -
(hide annotations)
(download)
(as text)
Sun Oct 3 15:01:04 2010 UTC (14 years, 5 months ago) by amb
Original Path: trunk/src/files.h
File MIME type: text/x-chdr
File size: 3244 byte(s)
Sun Oct 3 15:01:04 2010 UTC (14 years, 5 months ago) by amb
Original Path: trunk/src/files.h
File MIME type: text/x-chdr
File size: 3244 byte(s)
Add a function to map a file writeable and use it for updating the ways when processing route relations.
1 | amb | 450 | /*************************************** |
2 | amb | 507 | $Header: /home/amb/CVS/routino/src/files.h,v 1.3 2010-10-03 15:01:04 amb Exp $ |
3 | amb | 450 | |
4 | Header file for file 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 FILES_H | ||
26 | #define FILES_H /*+ To stop multiple inclusions. +*/ | ||
27 | |||
28 | #include <unistd.h> | ||
29 | #include <sys/types.h> | ||
30 | |||
31 | |||
32 | /* In files.c */ | ||
33 | |||
34 | char *FileName(const char *dirname,const char *prefix, const char *name); | ||
35 | |||
36 | void *MapFile(const char *filename); | ||
37 | amb | 507 | void *MapFileWriteable(const char *filename); |
38 | amb | 450 | void *UnmapFile(const char *filename); |
39 | |||
40 | amb | 502 | int OpenFileNew(const char *filename); |
41 | int OpenFileAppend(const char *filename); | ||
42 | amb | 450 | int ReOpenFile(const char *filename); |
43 | |||
44 | static int WriteFile(int fd,const void *address,size_t length); | ||
45 | static int ReadFile(int fd,void *address,size_t length); | ||
46 | |||
47 | off_t SizeFile(const char *filename); | ||
48 | int ExistsFile(const char *filename); | ||
49 | |||
50 | static int SeekFile(int fd,off_t position); | ||
51 | |||
52 | void CloseFile(int fd); | ||
53 | |||
54 | int DeleteFile(char *filename); | ||
55 | |||
56 | |||
57 | /* Inline the frequently called functions */ | ||
58 | |||
59 | /*++++++++++++++++++++++++++++++++++++++ | ||
60 | Write data to a file on disk. | ||
61 | |||
62 | int WriteFile Returns 0 if OK or something else in case of an error. | ||
63 | |||
64 | int fd The file descriptor to write to. | ||
65 | |||
66 | const void *address The address of the data to be written from. | ||
67 | |||
68 | size_t length The length of data to write. | ||
69 | ++++++++++++++++++++++++++++++++++++++*/ | ||
70 | |||
71 | static inline int WriteFile(int fd,const void *address,size_t length) | ||
72 | { | ||
73 | /* Write the data */ | ||
74 | |||
75 | if(write(fd,address,length)!=length) | ||
76 | return(-1); | ||
77 | |||
78 | return(0); | ||
79 | } | ||
80 | |||
81 | |||
82 | /*++++++++++++++++++++++++++++++++++++++ | ||
83 | Read data from a file on disk. | ||
84 | |||
85 | int ReadFile Returns 0 if OK or something else in case of an error. | ||
86 | |||
87 | int fd The file descriptor to read from. | ||
88 | |||
89 | void *address The address of the data to be read into. | ||
90 | |||
91 | size_t length The length of data to read. | ||
92 | ++++++++++++++++++++++++++++++++++++++*/ | ||
93 | |||
94 | static inline int ReadFile(int fd,void *address,size_t length) | ||
95 | { | ||
96 | /* Read the data */ | ||
97 | |||
98 | if(read(fd,address,length)!=length) | ||
99 | return(-1); | ||
100 | |||
101 | return(0); | ||
102 | } | ||
103 | |||
104 | |||
105 | /*++++++++++++++++++++++++++++++++++++++ | ||
106 | Seek to a position in a file on disk. | ||
107 | |||
108 | int SeekFile Returns 0 if OK or something else in case of an error. | ||
109 | |||
110 | int fd The file descriptor to seek within. | ||
111 | |||
112 | off_t position The position to seek to. | ||
113 | ++++++++++++++++++++++++++++++++++++++*/ | ||
114 | |||
115 | static inline int SeekFile(int fd,off_t position) | ||
116 | { | ||
117 | /* Seek the data */ | ||
118 | |||
119 | if(lseek(fd,position,SEEK_SET)!=position) | ||
120 | return(-1); | ||
121 | |||
122 | return(0); | ||
123 | } | ||
124 | |||
125 | |||
126 | #endif /* FILES_H */ |
Properties
Name | Value |
---|---|
cvs:description | A new header file for files.c functions and includes some inline functions. |