/*
** Automatically generated from `dir.m'
** by the Mercury compiler,
** version 14.01.1, configured for x86_64-apple-darwin13.3.0.
** Do not edit.
*/
#ifndef DIR_MH
#define DIR_MH

#ifdef __cplusplus
extern "C" {
#endif

#ifdef MR_HIGHLEVEL_CODE
#include "mercury.h"
#else
  #ifndef MERCURY_HDR_EXCLUDE_IMP_H
  #include "mercury_imp.h"
  #endif
#endif
#ifdef MR_DEEP_PROFILING
#include "mercury_deep_profiling.h"
#endif

#ifndef DIR_DECL_GUARD
#define DIR_DECL_GUARD
#line 1544 "dir.m"


#include "mercury_string.h"
#include "mercury_types.h"

#if defined(MR_WIN32) && defined(MR_HAVE_WINDOWS_H)
  #include "mercury_windows.h"
  #include <direct.h>   /* for _wgetcwd */
#endif

#ifdef HAVE_UNISTD_H
  #include <unistd.h>
#endif

#ifdef MR_HAVE_SYS_TYPES_H
  #include <sys/types.h>
#endif

#ifdef MR_HAVE_DIRENT_H
  #include <dirent.h>
#endif

#if defined(MR_WIN32)
  typedef   HANDLE      ML_DIR_STREAM;
#elif defined(MR_HAVE_READDIR)
  typedef   DIR *       ML_DIR_STREAM;
#else
  typedef   MR_Integer  ML_DIR_STREAM;
#endif

#line 59 "dir.mh.tmp"

#endif
void ML_make_dir_open_result_error(MR_Integer, MR_Word *);
MR_Word ML_make_dir_open_result_eof(void);
void ML_make_win32_dir_open_result_ok(ML_DIR_STREAM, MR_String, MR_Word *);
void ML_dir_read_first_entry(ML_DIR_STREAM, MR_Word *);
void ML_check_dir_readable(MR_String, MR_Integer *, MR_Word *);
void ML_check_dir_accessibility(MR_String, MR_Word *);
void ML_make_mkdir_res_exists(MR_Integer, MR_String, MR_Word *);
void ML_make_mkdir_res_error(MR_Integer, MR_Word *);
MR_Word ML_make_mkdir_res_ok(void);
MR_String ML_make_path_name(MR_String, MR_String);
MR_String ML_dir_this_directory(void);

#ifdef __cplusplus
}
#endif

#endif /* DIR_MH */
