Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

fileio.h

Go to the documentation of this file.
00001 //     $Id: fileio.h,v 1.1 2004-07-12 18:15:10 mbickel Exp $
00002 //
00003 //     $Log: fileio.h,v $
00004 //     Revision 1.1  2004-07-12 18:15:10  mbickel
00005 //      Lots of tweaks and fixed for more portability and compilation with mingw
00006 //
00007 //     Revision 1.7  2002/10/19 16:11:31  mbickel
00008 //      Made listing of directories more portable
00009 //
00010 //     Revision 1.6  2002/01/29 20:42:17  mbickel
00011 //      Improved finding of files with relative path
00012 //      Added wildcards to music playlist files
00013 //
00014 //     Revision 1.5  2001/10/11 10:41:06  mbickel
00015 //      Restructured platform fileio handling
00016 //      Added map archival information to mapeditor
00017 //
00018 //     Revision 1.4  2001/05/18 22:30:30  mbickel
00019 //      The data file is now installed in the correct directory
00020 //      If the installation directory is changed with configure, the new path
00021 //       will now be compiled directly into ASC
00022 //
00023 //     Revision 1.3  2001/02/26 21:14:32  mbickel
00024 //      Added two small editors to the linux makefiles
00025 //      Added some more truecolor hacks to the graphics engine
00026 //
00027 //     Revision 1.2  2000/10/12 21:37:57  mbickel
00028 //      Further restructured platform dependant routines
00029 //
00030 //     Revision 1.1  2000/10/12 20:21:43  mbickel
00031 //      Restructuring operating system dependant files
00032 //
00033 //
00034 /*
00035     This file is part of Advanced Strategic Command; http://www.asc-hq.de
00036     Copyright (C) 1994-1999  Martin Bickel  and  Marc Schellenberger
00037 
00038     This program is free software; you can redistribute it and/or modify
00039     it under the terms of the GNU General Public License as published by
00040     the Free Software Foundation; either version 2 of the License, or
00041     (at your option) any later version.
00042 
00043     This program is distributed in the hope that it will be useful,
00044     but WITHOUT ANY WARRANTY; without even the implied warranty of
00045     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00046     GNU General Public License for more details.
00047 
00048     You should have received a copy of the GNU General Public License
00049     along with this program; see the file COPYING. If not, write to the 
00050     Free Software Foundation, Inc., 59 Temple Place, Suite 330, 
00051     Boston, MA  02111-1307  USA
00052 */
00053 
00054 // this file takes care that the necessary header files for opendir / readdir
00055 // are being included in basestrm.cpp
00056 
00057 #ifndef fileio_h_included
00058  #define fileio_h_included
00059 
00060  #include <vector>
00061  #include "../../ASCString.h"
00062 
00063   #ifdef HAVE_SYS_DIRENT_H
00064    #include <sys/dirent.h>
00065   #endif
00066  
00067   #ifdef HAVE_DIRENT_H
00068   # include <dirent.h>
00069   # define NAMLEN(dirent) strlen((dirent)->d_name)
00070   #else
00071   # define dirent direct
00072   # define NAMLEN(dirent) (dirent)->d_namlen
00073   # if HAVE_SYS_NDIR_H
00074   #  include <sys/ndir.h>
00075   # endif
00076   # if HAVE_SYS_DIR_H
00077   #  include <sys/dir.h>
00078   # endif
00079   # if HAVE_NDIR_H
00080   #  include <ndir.h>
00081   # endif
00082   #endif
00083   #define ASC_direct dirent
00084 
00085  extern const char* filereadmode;
00086  extern const char* filewritemode;
00087  extern const char* filereadmodetext;
00088  extern const char* filewritemodetext;
00089  extern const char pathdelimitter;
00090  extern const char* pathdelimitterstring;
00091  extern const char  foreignPathDelimitter;
00092  extern const char* foreignPathDelimitterString;
00093 
00094  extern const int maxfilenamelength;
00095  extern const char* asc_configurationfile;
00096 
00097 #endif

Generated on Tue Jun 24 01:27:41 2008 for Advanced Strategic Command by  doxygen 1.4.2