[profiles] Fix MOBILE assemblies and tests compilation + Rename MOBILE to AOT_HYBRID
[mono-project.git] / mono / utils / mono-io-portability.h
blob4451aa2e30cb79c9afee0eca055ff1508d76b4ed
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);
29 gchar *mono_portability_find_file (const gchar *pathname, gboolean last_exists);
31 extern int mono_io_portability_helpers;
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