Angband
z-file.h
Go to the documentation of this file.
1 
18 #ifndef INCLUDED_Z_FILE_H
19 #define INCLUDED_Z_FILE_H
20 
21 #include "h-basic.h"
22 
34 extern int player_uid;
35 extern int player_egid;
36 
49 void safe_setuid_grab(void);
50 void safe_setuid_drop(void);
51 
52 
65 size_t path_build(char *buf, size_t len, const char *base, const char *leaf);
66 
71 size_t path_filename_index( const char *path );
72 
84 typedef struct ang_file ang_file;
85 
89 typedef enum
90 {
94 } file_mode;
95 
99 typedef enum
100 {
105 } file_type;
106 
107 
113 bool file_exists(const char *fname);
114 
120 bool file_delete(const char *fname);
121 
127 bool file_move(const char *fname, const char *newname);
128 
132 bool file_newer(const char *first, const char *second);
133 
134 
152 ang_file *file_open(const char *buf, file_mode mode, file_type ftype);
153 
154 
158 extern void (*file_open_hook)(const char *path, file_type ftype);
159 
160 
166 bool file_close(ang_file *f);
167 
168 
177 void file_lock(ang_file *f);
178 void file_unlock(ang_file *f);
179 
180 
192 bool file_getl(ang_file *f, char *buf, size_t n);
193 
199 bool file_put(ang_file *f, const char *buf);
200 
204 bool file_putf(ang_file *f, const char *fmt, ...);
205 bool file_vputf(ang_file *f, const char *fmt, va_list vp);
206 
207 
214 bool file_skip(ang_file *f, int bytes);
215 
220 int file_read(ang_file *f, char *buf, size_t n);
221 
228 bool file_write(ang_file *f, const char *buf, size_t n);
229 
236 bool file_readc(ang_file *f, byte *b);
237 
243 bool file_writec(ang_file *f, byte b);
244 
245 
246 
256 bool dir_exists(const char *dirname);
257 
263 bool dir_create(const char *dirname);
264 
268 typedef struct ang_dir ang_dir;
269 
270 
279 ang_dir *my_dopen(const char *dirname);
280 
290 bool my_dread(ang_dir *dir, char *fname, size_t len);
291 
295 void my_dclose(ang_dir *dir);
296 
297 #endif /* INCLUDED_Z_FILE_H */