xref: /aoo41x/main/tools/source/fsys/os2.hxx (revision 27ead02a)
18b851043SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
38b851043SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
48b851043SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
58b851043SAndrew Rist  * distributed with this work for additional information
68b851043SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
78b851043SAndrew Rist  * to you under the Apache License, Version 2.0 (the
88b851043SAndrew Rist  * "License"); you may not use this file except in compliance
98b851043SAndrew Rist  * with the License.  You may obtain a copy of the License at
108b851043SAndrew Rist  *
118b851043SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
128b851043SAndrew Rist  *
138b851043SAndrew Rist  * Unless required by applicable law or agreed to in writing,
148b851043SAndrew Rist  * software distributed under the License is distributed on an
158b851043SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
168b851043SAndrew Rist  * KIND, either express or implied.  See the License for the
178b851043SAndrew Rist  * specific language governing permissions and limitations
188b851043SAndrew Rist  * under the License.
198b851043SAndrew Rist  *
208b851043SAndrew Rist  *************************************************************/
218b851043SAndrew Rist 
228b851043SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef _os2_hxx
25cdf0e10cSrcweir #define _os2_hxx
26cdf0e10cSrcweir 
27cdf0e10cSrcweir 
28cdf0e10cSrcweir #define INCL_DOSEXCEPTIONS
29cdf0e10cSrcweir #define INCL_DOSFILEMGR
30cdf0e10cSrcweir #define INCL_DOSPROCESS
31cdf0e10cSrcweir #define INCL_DOSDEVICES
32cdf0e10cSrcweir #define INCL_DOSERRORS
33cdf0e10cSrcweir #define INCL_DOSMISC
34cdf0e10cSrcweir #define INCL_DOSNLS   /* National Language Support values */
35cdf0e10cSrcweir #include <svpm.h>
36cdf0e10cSrcweir 
37cdf0e10cSrcweir #include <dirent.h>
38cdf0e10cSrcweir #include <string.h>
39cdf0e10cSrcweir 
40cdf0e10cSrcweir #include <sys\types.h>
41cdf0e10cSrcweir #include <sys\stat.h>
42cdf0e10cSrcweir #include <stdio.h>
43cdf0e10cSrcweir #include <ctype.h>
44cdf0e10cSrcweir #include <emx/syscalls.h>
45cdf0e10cSrcweir 
46cdf0e10cSrcweir #define FSYS_UNIX FALSE
47cdf0e10cSrcweir 
48cdf0e10cSrcweir #define DOS_DIRECT      _A_SUBDIR
49cdf0e10cSrcweir #define DOS_VOLUMEID    _A_VOLID
50cdf0e10cSrcweir 
51cdf0e10cSrcweir #define _mkdir(p)       mkdir(p, 0777)
52cdf0e10cSrcweir 
53cdf0e10cSrcweir const char* TempDirImpl( char *pBuf );
54cdf0e10cSrcweir String ToLowerImpl( const String& );
55cdf0e10cSrcweir 
56cdf0e10cSrcweir #define DEFSTYLE            FSYS_STYLE_OS2
57cdf0e10cSrcweir #define MKDIR( p )          mkdir( (unsigned char*) p )
58cdf0e10cSrcweir #define CMP_LOWER(s) 	( s.ToLowerAscii() )
59cdf0e10cSrcweir 
60cdf0e10cSrcweir #define START_DRV       'a'
61cdf0e10cSrcweir 
DRIVE_EXISTS(char c)62*27ead02aSPedro Giffuni inline PM_BOOL DRIVE_EXISTS( char c )
63cdf0e10cSrcweir {
64cdf0e10cSrcweir     ULONG  nCur, nMap;
65cdf0e10cSrcweir     APIRET nRet = DosQueryCurrentDisk( &nCur, &nMap );
66cdf0e10cSrcweir     return ( nMap & 1 << (c - 'a') ) != 0;
67cdf0e10cSrcweir }
68cdf0e10cSrcweir 
69cdf0e10cSrcweir #include <time.h>
70cdf0e10cSrcweir //#include <datetime.hxx>
71cdf0e10cSrcweir 
MsDos2Time(FTIME * aTime)72cdf0e10cSrcweir inline Time MsDos2Time( FTIME* aTime )
73cdf0e10cSrcweir {
74cdf0e10cSrcweir     return Time( aTime->hours, aTime->minutes, 2*aTime->twosecs );
75cdf0e10cSrcweir }
76cdf0e10cSrcweir 
MsDos2Date(FDATE * aDate)77cdf0e10cSrcweir inline Date MsDos2Date( FDATE* aDate )
78cdf0e10cSrcweir {
79cdf0e10cSrcweir     return Date( aDate->day, aDate->month, aDate->year );
80cdf0e10cSrcweir }
81cdf0e10cSrcweir 
82cdf0e10cSrcweir Time MsDos2Time( const time_t *pTimeT );
83cdf0e10cSrcweir 
84cdf0e10cSrcweir Date MsDos2Date( const time_t *pTimeT );
85cdf0e10cSrcweir 
86cdf0e10cSrcweir #define FSysFailOnErrorImpl()
87cdf0e10cSrcweir 
88cdf0e10cSrcweir #endif
89cdf0e10cSrcweir 
90