|
00001 /* 00002 * File: recls_platform.h 00003 * 00004 * Purpose: Platform discrimination for the recls API. 00005 * 00006 * Created: 15th August 2003 00007 * Updated: 2nd November 2003 00008 * 00009 * License: (Licensed under the Synesis Software Standard Source License) 00010 * 00011 * Copyright (C) 2002-2003, Synesis Software Pty Ltd. 00012 * 00013 * All rights reserved. 00014 * 00015 * www: http://www.synesis.com.au/software 00016 * http://www.recls.org/ 00017 * 00018 * email: submissions@recls.org for submissions 00019 * admin@recls.org for other enquiries 00020 * 00021 * Redistribution and use in source and binary forms, with or 00022 * without modification, are permitted provided that the following 00023 * conditions are met: 00024 * 00025 * (i) Redistributions of source code must retain the above 00026 * copyright notice and contact information, this list of 00027 * conditions and the following disclaimer. 00028 * 00029 * (ii) Any derived versions of this software (howsoever modified) 00030 * remain the sole property of Synesis Software. 00031 * 00032 * (iii) Any derived versions of this software (howsoever modified) 00033 * remain subject to all these conditions. 00034 * 00035 * (iv) Neither the name of Synesis Software nor the names of any 00036 * subdivisions, employees or agents of Synesis Software, nor the 00037 * names of any other contributors to this software may be used to 00038 * endorse or promote products derived from this software without 00039 * specific prior written permission. 00040 * 00041 * This source code is provided by Synesis Software "as is" and any 00042 * warranties, whether expressed or implied, including, but not 00043 * limited to, the implied warranties of merchantability and 00044 * fitness for a particular purpose are disclaimed. In no event 00045 * shall the Synesis Software be liable for any direct, indirect, 00046 * incidental, special, exemplary, or consequential damages 00047 * (including, but not limited to, procurement of substitute goods 00048 * or services; loss of use, data, or profits; or business 00049 * interruption) however caused and on any theory of liability, 00050 * whether in contract, strict liability, or tort (including 00051 * negligence or otherwise) arising in any way out of the use of 00052 * this software, even if advised of the possibility of such 00053 * damage. 00054 * 00055 * 00056 00057 00058 #ifndef RECLS_INCL_H_RECLS_PLATFORM 00059 #define RECLS_INCL_H_RECLS_PLATFORM 00060 00061 /* File version */ 00062 #ifndef RECLS_DOCUMENTATION_SKIP_SECTION 00063 # define RECLS_VER_H_RECLS_PLATFORM_MAJOR 1 00064 # define RECLS_VER_H_RECLS_PLATFORM_MINOR 2 00065 # define RECLS_VER_H_RECLS_PLATFORM_REVISION 2 00066 # define RECLS_VER_H_RECLS_PLATFORM_EDIT 10 00067 #endif /* !RECLS_DOCUMENTATION_SKIP_SECTION */ 00068 00071 /* 00072 * Platform recognition 00073 * 00074 * Define the symbol RECLS_OVERRIDE_PLATFORM to provide your own platform 00075 * discrimination 00076 */ 00077 00078 #ifndef RECLS_OVERRIDE_PLATFORM 00079 # if defined(WIN32) || \ 00080 defined(_WIN32) 00081 # define RECLS_PLATFORM_IS_WIN32 00082 # elif defined(unix) || \ 00083 defined(UNIX) || \ 00084 defined(__unix) || \ 00085 defined(__unix__) || \ 00086 ( defined(__xlC__) && \ 00087 defined(_POWER) && \ 00088 defined(_AIX)) 00089 # define RECLS_PLATFORM_IS_UNIX 00090 # else 00091 # error Platform not (yet) recognised 00092 # endif /* platform */ 00093 #endif /* !RECLS_OVERRIDE_PLATFORM */ 00094 00095 /* 00096 * Includes 00097 */ 00098 00099 #if defined(RECLS_PLATFORM_IS_WIN32) 00100 # include <windows.h> 00101 #elif defined(RECLS_PLATFORM_IS_UNIX) 00102 # include <unistd.h> 00103 #else 00104 # error Platform not (yet) recognised 00105 #endif /* platform */ 00106 00107 /* 00108 * Namespace 00109 */ 00110 00111 #if !defined(RECLS_NO_NAMESPACE) 00112 namespace recls 00113 { 00114 #endif /* !RECLS_NO_NAMESPACE */ 00115 00116 /* 00117 * Constants and definitions 00118 */ 00119 00122 #if defined(RECLS_PLATFORM_IS_WIN32) 00123 00124 # define RECLS_PATH_MAX (_MAX_PATH) 00125 00126 #elif defined(RECLS_PLATFORM_IS_UNIX) 00127 00128 # define RECLS_PATH_MAX (PATH_MAX) 00129 00130 #else 00131 00132 # error Platform not (yet) recognised 00133 00134 #endif /* platform */ 00135 00136 /* 00137 * Namespace 00138 */ 00139 00140 #if !defined(RECLS_NO_NAMESPACE) 00141 } /* namespace recls */ 00142 #endif /* !RECLS_NO_NAMESPACE */ 00143 00144 /* 00145 00146 #endif /* !RECLS_INCL_H_RECLS_PLATFORM */ 00147 00148 /*
|
recls Library documentation © Synesis Software Pty Ltd, 2001-2004 |