Fix NET_2_0 build
[mono-project.git] / mono / utils / mono-io-portability.h
blob62cf5208649702a98eea2d4509ee0f132c0f4299
1 #ifndef __MONO_IO_PORTABILITY_H
2 #define __MONO_IO_PORTABILITY_H
4 #include <glib.h>
5 #include <mono/utils/mono-compiler.h>
6 #include "config.h"
8 enum {
9 PORTABILITY_NONE = 0x00,
10 PORTABILITY_UNKNOWN = 0x01,
11 PORTABILITY_DRIVE = 0x02,
12 PORTABILITY_CASE = 0x04
15 #ifdef DISABLE_PORTABILITY
17 #define mono_portability_helpers_init()
18 #define mono_portability_find_file(pathname,last_exists) NULL
20 #define IS_PORTABILITY_NONE FALSE
21 #define IS_PORTABILITY_UNKNOWN FALSE
22 #define IS_PORTABILITY_DRIVE FALSE
23 #define IS_PORTABILITY_CASE FALSE
24 #define IS_PORTABILITY_SET FALSE
26 #else
28 void mono_portability_helpers_init (void) MONO_INTERNAL;
29 gchar *mono_portability_find_file (const gchar *pathname, gboolean last_exists) MONO_INTERNAL;
31 extern int __mono_io_portability_helpers MONO_INTERNAL;
33 #define IS_PORTABILITY_NONE (__mono_io_portability_helpers & PORTABILITY_NONE)
34 #define IS_PORTABILITY_UNKNOWN (__mono_io_portability_helpers & PORTABILITY_UNKNOWN)
35 #define IS_PORTABILITY_DRIVE (__mono_io_portability_helpers & PORTABILITY_DRIVE)
36 #define IS_PORTABILITY_CASE (__mono_io_portability_helpers & PORTABILITY_CASE)
37 #define IS_PORTABILITY_SET (__mono_io_portability_helpers > 0)
39 #endif
41 #endif