text: /***
  *direct.h - function declarations for directory handling/creation
  *
  *       Copyright (c) 1985-2001, Microsoft Corporation. All rights reserved.
  *
  *Purpose:
  *       This include file contains the function declarations for the library
  *       functions related to directory handling and creation.
  *
  *       [Public]
  *
  ****/
  
  #if     _MSC_VER > 1000
  #pragma once
  #endif
  
  #ifndef _INC_DIRECT
  #define _INC_DIRECT
  
  #if     !defined(_WIN32)
  #error ERROR: Only Win32 target supported!
  #endif
  
  
  #ifdef  _MSC_VER
  /*
   * Currently, all MS C compilers for Win32 platforms default to 8 byte
   * alignment.
   */
  #pragma pack(push,8)
  #endif  /* _MSC_VER */
  
  #ifdef  __cplusplus
  extern "C" {
  #endif
  
  
  #if !defined(_W64)
  #if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300
  #define _W64 __w64
  #else
  #define _W64
  #endif
  #endif
  
  /* Define _CRTIMP */
  
  #ifndef _CRTIMP
  #ifdef  _DLL
  #define _CRTIMP __declspec(dllimport)
  #else   /* ndef _DLL */
  #define _CRTIMP
  #endif  /* _DLL */
  #endif  /* _CRTIMP */
  
  
  /* Define __cdecl for non-Microsoft compilers */
  
  #if     ( !defined(_MSC_VER) && !defined(__cdecl) )
  #define __cdecl
  #endif
  
  #ifndef _WCHAR_T_DEFINED
  typedef unsigned short wchar_t;
  #define _WCHAR_T_DEFINED
  #endif
  
  #ifndef _SIZE_T_DEFINED
  #ifdef  _WIN64
  typedef unsigned __int64    size_t;
  #else
  typedef _W64 unsigned int   size_t;
  #endif
  #define _SIZE_T_DEFINED
  #endif
  
  /* _getdiskfree structure for _getdiskfree() */
  #ifndef _DISKFREE_T_DEFINED
  
  struct _diskfree_t {
          unsigned total_clusters;
          unsigned avail_clusters;
          unsigned sectors_per_cluster;
          unsigned bytes_per_sector;
          };
  
  #define _DISKFREE_T_DEFINED
  #endif
  
  /* function prototypes */
  
  _CRTIMP int __cdecl _chdir(const char *);
  _CRTIMP char * __cdecl _getcwd(char *, int);
  _CRTIMP int __cdecl _mkdir(const char *);
  _CRTIMP int __cdecl _rmdir(const char *);
  
  _CRTIMP int __cdecl _chdrive(int);
  _CRTIMP char * __cdecl _getdcwd(int, char *, int);
  _CRTIMP int __cdecl _getdrive(void);
  _CRTIMP unsigned long __cdecl _getdrives(void);
  _CRTIMP unsigned __cdecl _getdiskfree(unsigned, struct _diskfree_t *);
  
  #ifndef _WDIRECT_DEFINED
  
  /* wide function prototypes, also declared in wchar.h  */
  
  _CRTIMP int __cdecl _wchdir(const wchar_t *);
  _CRTIMP wchar_t * __cdecl _wgetcwd(wchar_t *, int);
  _CRTIMP wchar_t * __cdecl _wgetdcwd(int, wchar_t *, int);
  _CRTIMP int __cdecl _wmkdir(const wchar_t *);
  _CRTIMP int __cdecl _wrmdir(const wchar_t *);
  
  #define _WDIRECT_DEFINED
  #endif
  
  
  #if     !__STDC__
  
  /* Non-ANSI names for compatibility */
  
  _CRTIMP int __cdecl chdir(const char *);
  _CRTIMP char * __cdecl getcwd(char *, int);
  _CRTIMP int __cdecl mkdir(const char *);
  _CRTIMP int __cdecl rmdir(const char *);
  
  #define diskfree_t  _diskfree_t
  
  #endif  /* __STDC__ */
  
  #ifdef  __cplusplus
  }
  #endif
  
  #ifdef  _MSC_VER
  #pragma pack(pop)
  #endif  /* _MSC_VER */
  
  #endif  /* _INC_DIRECT */
  