Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * OpenTyrian: A modern cross-platform port of Tyrian
  3.  * Copyright (C) 2007-2009  The OpenTyrian Development Team
  4.  *
  5.  * This program is free software; you can redistribute it and/or
  6.  * modify it under the terms of the GNU General Public License
  7.  * as published by the Free Software Foundation; either version 2
  8.  * of the License, or (at your option) any later version.
  9.  *
  10.  * This program is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.  * GNU General Public License for more details.
  14.  *
  15.  * You should have received a copy of the GNU General Public License
  16.  * along with this program; if not, write to the Free Software
  17.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  18.  */
  19. #ifndef FILE_H
  20. #define FILE_H
  21.  
  22. #include "SDL_endian.h"
  23.  
  24. #include <stdbool.h>
  25. #include <stdio.h>
  26.  
  27. extern const char *custom_data_dir;
  28.  
  29. const char *data_dir( void );
  30.  
  31. FILE *dir_fopen( const char *dir, const char *file, const char *mode );
  32. FILE *dir_fopen_warn( const char *dir, const char *file, const char *mode );
  33. FILE *dir_fopen_die( const char *dir, const char *file, const char *mode );
  34.  
  35. bool dir_file_exists( const char *dir, const char *file );
  36.  
  37. long ftell_eof( FILE *f );
  38.  
  39. // endian-swapping fread/fwrite that die if the expected amount cannot be read/written
  40. size_t efread( void *buffer, size_t size, size_t num, FILE *stream );
  41. size_t efwrite( const void *buffer, size_t size, size_t num, FILE *stream );
  42.  
  43. #endif // FILE_H
  44.  
  45.