1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir 28*cdf0e10cSrcweir //------------------------------------------------------------------------ 29*cdf0e10cSrcweir //------------------------------------------------------------------------ 30*cdf0e10cSrcweir 31*cdf0e10cSrcweir #ifndef _OSL_FILE_CONST_H_ 32*cdf0e10cSrcweir #define _OSL_FILE_CONST_H_ 33*cdf0e10cSrcweir 34*cdf0e10cSrcweir //------------------------------------------------------------------------ 35*cdf0e10cSrcweir //------------------------------------------------------------------------ 36*cdf0e10cSrcweir #include <stdlib.h> 37*cdf0e10cSrcweir #include <stdio.h> 38*cdf0e10cSrcweir #include <string.h> 39*cdf0e10cSrcweir #include <sal/types.h> 40*cdf0e10cSrcweir #include <rtl/textenc.h> 41*cdf0e10cSrcweir 42*cdf0e10cSrcweir #include <rtl/ustring.hxx> 43*cdf0e10cSrcweir #include <rtl/uri.hxx> 44*cdf0e10cSrcweir 45*cdf0e10cSrcweir 46*cdf0e10cSrcweir 47*cdf0e10cSrcweir //------------------------------------------------------------------------ 48*cdf0e10cSrcweir //------------------------------------------------------------------------ 49*cdf0e10cSrcweir 50*cdf0e10cSrcweir 51*cdf0e10cSrcweir #ifdef __cplusplus 52*cdf0e10cSrcweir extern "C" 53*cdf0e10cSrcweir { 54*cdf0e10cSrcweir #endif 55*cdf0e10cSrcweir 56*cdf0e10cSrcweir 57*cdf0e10cSrcweir 58*cdf0e10cSrcweir //------------------------------------------------------------------------ 59*cdf0e10cSrcweir // common used string resource 60*cdf0e10cSrcweir // these common used string will be used as assist resource in test 61*cdf0e10cSrcweir // they are mostly OS independent, some of the resource can be reused 62*cdf0e10cSrcweir // so, acommon test data repository will be better since it can be 63*cdf0e10cSrcweir // shared among all test code 64*cdf0e10cSrcweir //------------------------------------------------------------------------ 65*cdf0e10cSrcweir 66*cdf0e10cSrcweir const sal_Char pBuffer_Char[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 67*cdf0e10cSrcweir const sal_Char pBuffer_Number[] = "1234567890"; 68*cdf0e10cSrcweir const sal_Char pBuffer_Blank[] = ""; 69*cdf0e10cSrcweir 70*cdf0e10cSrcweir #define TRUNC_LEN 10; 71*cdf0e10cSrcweir #define ENLARG_LEN 100; 72*cdf0e10cSrcweir 73*cdf0e10cSrcweir 74*cdf0e10cSrcweir 75*cdf0e10cSrcweir //------------------------------------------------------------------------ 76*cdf0e10cSrcweir // OS dependent/independent definitions/includes 77*cdf0e10cSrcweir // we use FILE_PREFIX for URL prefix, 78*cdf0e10cSrcweir // TEST_PLATFORM for test platform initial, 79*cdf0e10cSrcweir // TEST_PLATFORM_ROOT for root dir in comrresponding platform, 80*cdf0e10cSrcweir // TEST_PLATFORM_TEMP for temp dir in comrresponding platform, 81*cdf0e10cSrcweir // PATH_LIST_DELIMITER for seperator of path list in comrresponding platform, 82*cdf0e10cSrcweir // PATH_SEPERATOR for seperator in URL or system path in comrresponding platform, 83*cdf0e10cSrcweir // PATH_MAX/MAX_PATH for max path length in comrresponding platform, 84*cdf0e10cSrcweir //------------------------------------------------------------------------ 85*cdf0e10cSrcweir 86*cdf0e10cSrcweir //------------------------------------------------------------------------ 87*cdf0e10cSrcweir // OS independent const definition 88*cdf0e10cSrcweir //------------------------------------------------------------------------ 89*cdf0e10cSrcweir # define FILE_PREFIX "file:///" 90*cdf0e10cSrcweir # define TEST_FILE_SIZE 1024 91*cdf0e10cSrcweir 92*cdf0e10cSrcweir //------------------------------------------------------------------------ 93*cdf0e10cSrcweir // OS dependent declaration and includes 94*cdf0e10cSrcweir //------------------------------------------------------------------------ 95*cdf0e10cSrcweir #if ( defined UNX ) || ( defined OS2 ) //Unix 96*cdf0e10cSrcweir # include <unistd.h> 97*cdf0e10cSrcweir # include <limits.h> 98*cdf0e10cSrcweir # include <math.h> 99*cdf0e10cSrcweir # include <errno.h> 100*cdf0e10cSrcweir # include <fcntl.h> 101*cdf0e10cSrcweir # include <sys/stat.h> 102*cdf0e10cSrcweir # include <sys/statfs.h> 103*cdf0e10cSrcweir # include <sys/statvfs.h> 104*cdf0e10cSrcweir # include <sys/types.h> 105*cdf0e10cSrcweir # define TEST_PLATFORM "" 106*cdf0e10cSrcweir # define TEST_PLATFORM_ROOT "/" 107*cdf0e10cSrcweir # define TEST_PLATFORM_TEMP "tmp" 108*cdf0e10cSrcweir # define PATH_LIST_DELIMITER ":" 109*cdf0e10cSrcweir # define PATH_SEPERATOR "/" 110*cdf0e10cSrcweir #endif 111*cdf0e10cSrcweir #if (defined WNT ) // Windows 112*cdf0e10cSrcweir #include <tools/prewin.h> 113*cdf0e10cSrcweir // # include <windows.h> 114*cdf0e10cSrcweir # include <tchar.h> 115*cdf0e10cSrcweir # include <io.h> 116*cdf0e10cSrcweir # include <stdio.h> 117*cdf0e10cSrcweir # include <stdlib.h> 118*cdf0e10cSrcweir #include <tools/postwin.h> 119*cdf0e10cSrcweir # define PATH_MAX MAX_PATH 120*cdf0e10cSrcweir # define TEST_PLATFORM "c:/" 121*cdf0e10cSrcweir # define TEST_PLATFORM_ROOT "c:/" 122*cdf0e10cSrcweir # define TEST_PLATFORM_TEMP "temp" 123*cdf0e10cSrcweir # define PATH_LIST_DELIMITER ";" 124*cdf0e10cSrcweir # define PATH_SEPERATOR "/" 125*cdf0e10cSrcweir #endif 126*cdf0e10cSrcweir 127*cdf0e10cSrcweir 128*cdf0e10cSrcweir //------------------------------------------------------------------------ 129*cdf0e10cSrcweir // macro definition for the ASCII array/OUString declarations, 130*cdf0e10cSrcweir // we use p### for the ASCII array, 131*cdf0e10cSrcweir // a### for the OUString, 132*cdf0e10cSrcweir // n###Len for its length 133*cdf0e10cSrcweir //------------------------------------------------------------------------ 134*cdf0e10cSrcweir 135*cdf0e10cSrcweir #define OSLTEST_DECLARE( str_name, str_value ) \ 136*cdf0e10cSrcweir ::rtl::OUString a##str_name = rtl::OUString::createFromAscii( ( str_value ) ) 137*cdf0e10cSrcweir 138*cdf0e10cSrcweir #define OSLTEST_DECLARE_UTF8(str_name, str_value ) \ 139*cdf0e10cSrcweir ::rtl::OUString a##str_name = ::rtl::Uri::decode( ::rtl::OUString::createFromAscii( ( str_value ) ), rtl_UriDecodeToIuri, RTL_TEXTENCODING_UTF8) 140*cdf0e10cSrcweir 141*cdf0e10cSrcweir //------------------------------------------------------------------------ 142*cdf0e10cSrcweir // OS independent file definition 143*cdf0e10cSrcweir //------------------------------------------------------------------------ 144*cdf0e10cSrcweir OSLTEST_DECLARE( NullURL, "" ); 145*cdf0e10cSrcweir OSLTEST_DECLARE( SlashURL, PATH_SEPERATOR ); 146*cdf0e10cSrcweir OSLTEST_DECLARE( PreURL, FILE_PREFIX ); 147*cdf0e10cSrcweir OSLTEST_DECLARE( RootURL, FILE_PREFIX TEST_PLATFORM ); 148*cdf0e10cSrcweir 149*cdf0e10cSrcweir OSLTEST_DECLARE( TempDirectoryURL, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP ); 150*cdf0e10cSrcweir OSLTEST_DECLARE( TempDirectorySys, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP ); 151*cdf0e10cSrcweir OSLTEST_DECLARE( UserDirectoryURL, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "" ); 152*cdf0e10cSrcweir OSLTEST_DECLARE( UserDirectorySys, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP "" ); 153*cdf0e10cSrcweir 154*cdf0e10cSrcweir //------------------------------------------------------------------------ 155*cdf0e10cSrcweir // common used URL:temp, canonical, root, relative, link,etc 156*cdf0e10cSrcweir //------------------------------------------------------------------------ 157*cdf0e10cSrcweir OSLTEST_DECLARE( CanURL1, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/canonical.name" ); 158*cdf0e10cSrcweir OSLTEST_DECLARE( CanURL2, "ca@#;+.,$///78no\0ni..name" ); 159*cdf0e10cSrcweir OSLTEST_DECLARE( CanURL3, "ca@#;+.,$//tmp/678nonical//name" ); 160*cdf0e10cSrcweir OSLTEST_DECLARE( CanURL4, "canonical.name" ); 161*cdf0e10cSrcweir OSLTEST_DECLARE( TmpName1, "tmpdir" ); 162*cdf0e10cSrcweir OSLTEST_DECLARE( TmpName2, "tmpname" ); 163*cdf0e10cSrcweir OSLTEST_DECLARE( TmpName3, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/tmpdir" ); 164*cdf0e10cSrcweir OSLTEST_DECLARE( TmpName4, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/tmpdir/tmpname" ); 165*cdf0e10cSrcweir OSLTEST_DECLARE( TmpName5, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/tmpdir/../tmpdir/./tmpname" ); 166*cdf0e10cSrcweir OSLTEST_DECLARE( TmpName6, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/tmpname" ); 167*cdf0e10cSrcweir OSLTEST_DECLARE( TmpName7, FILE_PREFIX TEST_PLATFORM "tmpname" ); 168*cdf0e10cSrcweir OSLTEST_DECLARE( TmpName8, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/tmpname/tmpdir" ); 169*cdf0e10cSrcweir OSLTEST_DECLARE( TmpName9, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/tmpdir/../tmpdir/./" ); 170*cdf0e10cSrcweir OSLTEST_DECLARE_UTF8( TmpName10, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/%E6%9C%AA%E5%91%BD%E5%90%8Dzhgb18030" ); 171*cdf0e10cSrcweir 172*cdf0e10cSrcweir OSLTEST_DECLARE( RelURL1, "relative/file1" ); 173*cdf0e10cSrcweir OSLTEST_DECLARE( RelURL2, "relative/./file2" ); 174*cdf0e10cSrcweir OSLTEST_DECLARE( RelURL3, "relative/../file3" ); 175*cdf0e10cSrcweir OSLTEST_DECLARE( RelURL4, "././relative/../file4" ); 176*cdf0e10cSrcweir OSLTEST_DECLARE( RelURL5, TEST_PLATFORM_TEMP "/./../" TEST_PLATFORM_TEMP ); 177*cdf0e10cSrcweir OSLTEST_DECLARE( LnkURL1, FILE_PREFIX TEST_PLATFORM TEST_PLATFORM_TEMP "/link.file" ); 178*cdf0e10cSrcweir OSLTEST_DECLARE( HidURL1, ".hiddenfile" ); 179*cdf0e10cSrcweir 180*cdf0e10cSrcweir //------------------------------------------------------------------------ 181*cdf0e10cSrcweir // common used System Path:temp, root,etc 182*cdf0e10cSrcweir //------------------------------------------------------------------------ 183*cdf0e10cSrcweir OSLTEST_DECLARE( RootSys, TEST_PLATFORM_ROOT ); 184*cdf0e10cSrcweir OSLTEST_DECLARE( SysPath1, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP "/system.path" ); 185*cdf0e10cSrcweir OSLTEST_DECLARE( SysPath2, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP "/system/path" ); 186*cdf0e10cSrcweir OSLTEST_DECLARE( SysPath3, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP "/tmpdir" ); 187*cdf0e10cSrcweir OSLTEST_DECLARE( SysPath4, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP "/tmpname" ); 188*cdf0e10cSrcweir OSLTEST_DECLARE_UTF8( SysPath5, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP "/%E6%9C%AA%E5%91%BD%E5%90%8Dzhgb18030" ); 189*cdf0e10cSrcweir OSLTEST_DECLARE( FifoSys, TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP "/tmpdir/fifo" ); 190*cdf0e10cSrcweir 191*cdf0e10cSrcweir //------------------------------------------------------------------------ 192*cdf0e10cSrcweir // FileType URL, we pick some canonical file in corresponding system for test: 193*cdf0e10cSrcweir // socket, link, etc. 194*cdf0e10cSrcweir // Note that this may be changed in the different platform, so be careful to use. 195*cdf0e10cSrcweir //------------------------------------------------------------------------ 196*cdf0e10cSrcweir #if ( defined UNX ) || ( defined OS2 ) // Unix 197*cdf0e10cSrcweir OSLTEST_DECLARE( TypeURL1, FILE_PREFIX "dev/ccv"); //socket Solaris/Linux 198*cdf0e10cSrcweir OSLTEST_DECLARE( TypeURL2, FILE_PREFIX "devices/pseudo/tcp@0:tcp"); //special Solaris/Linux 199*cdf0e10cSrcweir OSLTEST_DECLARE( TypeURL3, FILE_PREFIX "lib" ); //link Solaris 200*cdf0e10cSrcweir #else // Windows 201*cdf0e10cSrcweir OSLTEST_DECLARE( TypeURL1, FILE_PREFIX "" ); 202*cdf0e10cSrcweir OSLTEST_DECLARE( TypeURL2, FILE_PREFIX "" ); 203*cdf0e10cSrcweir OSLTEST_DECLARE( TypeURL3, FILE_PREFIX "" ); 204*cdf0e10cSrcweir #endif 205*cdf0e10cSrcweir 206*cdf0e10cSrcweir //------------------------------------------------------------------------ 207*cdf0e10cSrcweir // Volume device URL, we pick some canonical volume device for test: 208*cdf0e10cSrcweir // UNIX file system, Floppy Disk, Proc file system, Temp file system, Compact Disk. 209*cdf0e10cSrcweir //------------------------------------------------------------------------ 210*cdf0e10cSrcweir #if ( defined UNX ) || ( defined OS2 ) // Unix 211*cdf0e10cSrcweir OSLTEST_DECLARE( VolURL1, FILE_PREFIX ""); //ufs Solaris/Linux 212*cdf0e10cSrcweir #ifdef SOLARIS 213*cdf0e10cSrcweir OSLTEST_DECLARE( VolURL2, FILE_PREFIX "dev/fd" ); //fd Solaris 214*cdf0e10cSrcweir #else 215*cdf0e10cSrcweir OSLTEST_DECLARE( VolURL2, FILE_PREFIX "dev/floppy/0u1440" ); //fd0 Linux 216*cdf0e10cSrcweir #endif 217*cdf0e10cSrcweir OSLTEST_DECLARE( VolURL3, FILE_PREFIX "proc" ); //proc Solaris/Linux 218*cdf0e10cSrcweir OSLTEST_DECLARE( VolURL4, FILE_PREFIX "staroffice" ); //nfs Solaris/Linux 219*cdf0e10cSrcweir OSLTEST_DECLARE( VolURL5, FILE_PREFIX "tmp" ); //tmpfs Solaris 220*cdf0e10cSrcweir OSLTEST_DECLARE( VolURL6, FILE_PREFIX "cdrom" ); //cd Solaris 221*cdf0e10cSrcweir #else // Windows 222*cdf0e10cSrcweir OSLTEST_DECLARE( VolURL1, FILE_PREFIX "c:/" ); 223*cdf0e10cSrcweir OSLTEST_DECLARE( VolURL2, FILE_PREFIX "a:/" ); 224*cdf0e10cSrcweir OSLTEST_DECLARE( VolURL3, FILE_PREFIX "" ); 225*cdf0e10cSrcweir OSLTEST_DECLARE( VolURL4, FILE_PREFIX "" ); 226*cdf0e10cSrcweir OSLTEST_DECLARE( VolURL5, FILE_PREFIX "c:/temp" ); 227*cdf0e10cSrcweir OSLTEST_DECLARE( VolURL6, FILE_PREFIX "e:/" ); 228*cdf0e10cSrcweir #endif 229*cdf0e10cSrcweir 230*cdf0e10cSrcweir 231*cdf0e10cSrcweir //------------------------------------------------------------------------ 232*cdf0e10cSrcweir //------------------------------------------------------------------------ 233*cdf0e10cSrcweir 234*cdf0e10cSrcweir #ifdef __cplusplus 235*cdf0e10cSrcweir } 236*cdf0e10cSrcweir #endif 237*cdf0e10cSrcweir 238*cdf0e10cSrcweir //------------------------------------------------------------------------ 239*cdf0e10cSrcweir //------------------------------------------------------------------------ 240*cdf0e10cSrcweir 241*cdf0e10cSrcweir 242*cdf0e10cSrcweir #endif /* _OSL_FILE_CONST_H_ */ 243