mono-io-portability.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /**
  2. * \file
  3. */
  4. #ifndef __MONO_IO_PORTABILITY_H
  5. #define __MONO_IO_PORTABILITY_H
  6. #include <glib.h>
  7. #include <mono/utils/mono-compiler.h>
  8. #include "config.h"
  9. enum {
  10. PORTABILITY_NONE = 0x00,
  11. PORTABILITY_UNKNOWN = 0x01,
  12. PORTABILITY_DRIVE = 0x02,
  13. PORTABILITY_CASE = 0x04
  14. };
  15. #ifdef DISABLE_PORTABILITY
  16. #define mono_portability_helpers_init()
  17. #define mono_portability_find_file(pathname,last_exists) NULL
  18. #define IS_PORTABILITY_NONE FALSE
  19. #define IS_PORTABILITY_UNKNOWN FALSE
  20. #define IS_PORTABILITY_DRIVE FALSE
  21. #define IS_PORTABILITY_CASE FALSE
  22. #define IS_PORTABILITY_SET FALSE
  23. #else
  24. void mono_portability_helpers_init (void);
  25. gchar *mono_portability_find_file (const gchar *pathname, gboolean last_exists);
  26. extern int mono_io_portability_helpers;
  27. #define IS_PORTABILITY_NONE (mono_io_portability_helpers & PORTABILITY_NONE)
  28. #define IS_PORTABILITY_UNKNOWN (mono_io_portability_helpers & PORTABILITY_UNKNOWN)
  29. #define IS_PORTABILITY_DRIVE (mono_io_portability_helpers & PORTABILITY_DRIVE)
  30. #define IS_PORTABILITY_CASE (mono_io_portability_helpers & PORTABILITY_CASE)
  31. #define IS_PORTABILITY_SET (mono_io_portability_helpers > 0)
  32. #endif
  33. #endif