Commit WIP. Part 1 of ??
[reactos.git] / reactos / include / crt / dos.h
index e6bf561..8530582 100644 (file)
@@ -1,89 +1,55 @@
-/*
- * dos.h
+/**
  * This file has no copyright assigned and is placed in the Public Domain.
- * This file is a part of the mingw-runtime package.
- * No warranty is given; refer to the file DISCLAIMER within the package.
- *
- * DOS-specific functions and structures.
- *
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER within this package.
  */
+#ifndef _INC_DOS
+#define _INC_DOS
 
-#ifndef        _DOS_H_
-#define        _DOS_H_
-
-/* All the headers include this file. */
 #include <_mingw.h>
-
-#define __need_wchar_t
-#ifndef RC_INVOKED
-#include <stddef.h>
-#endif /* Not RC_INVOKED */
-
-/* For DOS file attributes */
 #include <io.h>
 
-#ifndef RC_INVOKED
+#pragma pack(push,_CRT_PACKING)
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-#ifndef __MSVCRT__ /* these are in CRTDLL, but not MSVCRT */
-#ifndef __DECLSPEC_SUPPORTED
-extern unsigned int *_imp___basemajor_dll;
-extern unsigned int *_imp___baseminor_dll;
-extern unsigned int *_imp___baseversion_dll;
-extern unsigned int *_imp___osmajor_dll;
-extern unsigned int *_imp___osminor_dll;
-extern unsigned int *_imp___osmode_dll;
-
-#define _basemajor (*_imp___basemajor_dll)
-#define _baseminor (*_imp___baseminor_dll)
-#define _baseversion (*_imp___baseversion_dll)
-#define _osmajor (*_imp___osmajor_dll)
-#define _osminor (*_imp___osminor_dll)
-#define _osmode (*_imp___osmode_dll)
-
-#else /* __DECLSPEC_SUPPORTED */
-
-__MINGW_IMPORT unsigned int _basemajor_dll;
-__MINGW_IMPORT unsigned int _baseminor_dll;
-__MINGW_IMPORT unsigned int _baseversion_dll;
-__MINGW_IMPORT unsigned int _osmajor_dll;
-__MINGW_IMPORT unsigned int _osminor_dll;
-__MINGW_IMPORT unsigned int _osmode_dll;
+#ifndef _DISKFREE_T_DEFINED
+#define _DISKFREE_T_DEFINED
 
-#define _basemajor _basemajor_dll
-#define _baseminor _baseminor_dll
-#define _baseversion _baseversion_dll
-#define _osmajor _osmajor_dll
-#define _osminor _osminor_dll
-#define _osmode _osmode_dll
+  struct _diskfree_t {
+    unsigned total_clusters;
+    unsigned avail_clusters;
+    unsigned sectors_per_cluster;
+    unsigned bytes_per_sector;
+  };
+#endif
 
-#endif /* __DECLSPEC_SUPPORTED */
-#endif /* ! __MSVCRT__ */
+#define _A_NORMAL 0x00
+#define _A_RDONLY 0x01
+#define _A_HIDDEN 0x02
+#define _A_SYSTEM 0x04
+#define _A_SUBDIR 0x10
+#define _A_ARCH 0x20
 
-#ifndef _DISKFREE_T_DEFINED
-/* needed by _getdiskfree (also in direct.h) */
-struct _diskfree_t {
-       unsigned total_clusters;
-       unsigned avail_clusters;
-       unsigned sectors_per_cluster;
-       unsigned bytes_per_sector;
-};
-#define _DISKFREE_T_DEFINED
+#ifndef _GETDISKFREE_DEFINED
+#define _GETDISKFREE_DEFINED
+  _CRTIMP unsigned __cdecl _getdiskfree(unsigned _Drive,struct _diskfree_t *_DiskFree);
 #endif
 
-_CRTIMP unsigned __cdecl __MINGW_NOTHROW _getdiskfree (unsigned, struct _diskfree_t *);
+//#if (defined(_X86_) && !defined(__x86_64))
+//  void __cdecl _disable(void);
+//  void __cdecl _enable(void);
+//#endif
 
-#ifndef        _NO_OLDNAMES
-# define diskfree_t _diskfree_t
+#ifndef        NO_OLDNAMES
+#define diskfree_t _diskfree_t
 #endif
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* Not RC_INVOKED */
-
-#endif /* Not _DOS_H_ */
+#pragma pack(pop)
+#endif