X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=include%2FHsDirectory.h;h=b58cfb209daf30ece3e5ab054e01d436c34875d2;hb=36e4cefebd16a9253ac9651d043522045ec3f63d;hp=83d7ed9fb914b5b96c37f82729f4ec6562496ee2;hpb=04e4add21624c6d35fe5510c426307839144ce6a;p=haskell-directory.git diff --git a/include/HsDirectory.h b/include/HsDirectory.h index 83d7ed9..b58cfb2 100644 --- a/include/HsDirectory.h +++ b/include/HsDirectory.h @@ -9,28 +9,28 @@ #ifndef __HSDIRECTORY_H__ #define __HSDIRECTORY_H__ +#ifdef __NHC__ +#include "Nhc98BaseConfig.h" +#else #include "HsDirectoryConfig.h" - -#if HAVE_SYS_TYPES_H -#include -#endif -#if HAVE_UNISTD_H -#include #endif +// Otherwise these clash with similar definitions from other packages: +#undef PACKAGE_BUGREPORT +#undef PACKAGE_NAME +#undef PACKAGE_STRING +#undef PACKAGE_TARNAME +#undef PACKAGE_VERSION + #if HAVE_SYS_STAT_H #include #endif -#include "HsFFI.h" - -#if defined(_MSC_VER) || defined(__MINGW32__) || defined(_WIN32) -extern int __hscore_getFolderPath(HWND hwndOwner, - int nFolder, - HANDLE hToken, - DWORD dwFlags, - char* pszPath); +#if HAVE_SYS_TYPES_H +#include #endif +#include "HsFFI.h" + /* ----------------------------------------------------------------------------- INLINE functions. @@ -47,59 +47,22 @@ extern int __hscore_getFolderPath(HWND hwndOwner, # endif #endif -#ifdef PATH_MAX /* A size that will contain many path names, but not necessarily all * (PATH_MAX is not defined on systems with unlimited path length, * e.g. the Hurd). */ -INLINE HsInt __hscore_long_path_size() { return PATH_MAX; } +INLINE HsInt __hscore_long_path_size() { +#ifdef PATH_MAX + return PATH_MAX; #else -INLINE HsInt __hscore_long_path_size() { return 4096; } -#endif - -#ifdef R_OK -INLINE int __hscore_R_OK() { return R_OK; } -#endif -#ifdef W_OK -INLINE int __hscore_W_OK() { return W_OK; } -#endif -#ifdef X_OK -INLINE int __hscore_X_OK() { return X_OK; } + return 4096; #endif +} -#ifdef S_IRUSR INLINE mode_t __hscore_S_IRUSR() { return S_IRUSR; } -#endif -#ifdef S_IWUSR INLINE mode_t __hscore_S_IWUSR() { return S_IWUSR; } -#endif -#ifdef S_IXUSR INLINE mode_t __hscore_S_IXUSR() { return S_IXUSR; } -#endif - -#if defined(__MINGW32__) - -/* Make sure we've got the reqd CSIDL_ constants in scope; - * w32api header files are lagging a bit in defining the full set. - */ -#if !defined(CSIDL_APPDATA) -#define CSIDL_APPDATA 0x001a -#endif -#if !defined(CSIDL_PERSONAL) -#define CSIDL_PERSONAL 0x0005 -#endif -#if !defined(CSIDL_PROFILE) -#define CSIDL_PROFILE 0x0028 -#endif -#if !defined(CSIDL_WINDOWS) -#define CSIDL_WINDOWS 0x0024 -#endif - -INLINE int __hscore_CSIDL_PROFILE() { return CSIDL_PROFILE; } -INLINE int __hscore_CSIDL_APPDATA() { return CSIDL_APPDATA; } -INLINE int __hscore_CSIDL_WINDOWS() { return CSIDL_WINDOWS; } -INLINE int __hscore_CSIDL_PERSONAL() { return CSIDL_PERSONAL; } -#endif +INLINE mode_t __hscore_S_IFDIR() { return S_IFDIR; } #endif /* __HSDIRECTORY_H__ */