csutil/unix/csosdefs.h
00001 /* 00002 Copyright (C) 1998 by Jorrit Tyberghein 00003 Written by Andrew Zabolotny <bit@eltech.ru> 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public 00016 License along with this library; if not, write to the Free 00017 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00018 */ 00019 00020 #ifndef __CS_CSOSDEFS_H__ 00021 #define __CS_CSOSDEFS_H__ 00022 00023 #include <math.h> 00024 #include <unistd.h> 00025 00026 // filesystem settings 00027 #define CS_MAXPATHLEN 256 00028 #define PATH_SEPARATOR '/' 00029 #define PATH_DELIMITER ':' 00030 00031 #define CS_SOFTWARE_2D_DRIVER "crystalspace.graphics2d.x2d" 00032 00033 #ifdef CS_SYSDEF_PROVIDE_HARDWARE_MMIO 00034 00035 // Defines that this platform supports hardware memory-mapped i/o 00036 #define CS_HAS_MEMORY_MAPPED_IO 1 00037 00038 // Unix specific memory mapped I/O platform dependent stuff 00039 struct mmioInfo 00040 { 00042 int hMappedFile; 00043 00045 unsigned char *data; 00046 00048 unsigned int file_size; 00049 00051 bool close; 00052 }; 00053 00054 #endif // memory-mapped I/O 00055 00056 // The 2D graphics driver used by OpenGL renderer 00057 #define CS_OPENGL_2D_DRIVER "crystalspace.graphics2d.glx" 00058 00059 // The sound driver 00060 #define CS_SOUND_DRIVER "crystalspace.sound.driver.oss" 00061 00062 #if defined (CS_SYSDEF_PROVIDE_DIR) 00063 # define __NEED_GENERIC_ISDIR 00064 #endif 00065 00066 #if !defined(CS_STATIC_LINKED) && defined(CS_UNIX_PLUGIN_REQUIRES_MAIN) 00067 // Dummy main function required for plugin modules on some Unix platforms. 00068 // Implementing this function ensures that global constructors in plugin 00069 // modules are invoked. 00070 #define CS_IMPLEMENT_PLATFORM_PLUGIN \ 00071 int main (int argc, char* argv[]) \ 00072 { \ 00073 (void)argc; (void)argv; \ 00074 return 0; \ 00075 } 00076 #endif // !CS_STATIC_LINKED && CS_UNIX_PLUGIN_REQUIRES_MAIN 00077 00078 #endif // __CS_CSOSDEFS_H__
Generated for Crystal Space by doxygen 1.2.18