newlib/winsup/mingw/include/direct.h
Earnie Boyd 6126c12345 * include/direct.h: add guard around MSVCRT-only prototytpes
* include/io.h: add __int64 struct definitions and function prototypes;
		 add guard for MSVCRT-only prototypes
	* include/limits.h: add ISO C9x macros LLONG_MIN, LLONG_MAX, ULLONG_MAX
	* include/stdio.h: add wchar function prototypes (__MSVCRT__);
		 put wchar functions together to make sync with wchar.h easier
	* include/stdlib.h: add wide char functions (__MSVCRT__)
	* include/string.h: add string collation functions ( __MSVCRT__)
	* include/sys/stat.h: add __int64 struct and function ( __MSVCRT__)
	* include/tchar.h: add macros and macro function definitions
	* include/wchar.h: add wide char function prototypes ( __MSVCRT__ );
		enclose more functions in __MSVCRT__ guard;
		some oldname wide char function prototypes #if (0)'d
	* profile/gmon.h: add guard around BSD-ish typedefs
2000-11-21 02:50:03 +00:00

96 lines
2.0 KiB
C

/*
* direct.h
*
* Functions for manipulating paths and directories (included from io.h)
* plus functions for setting the current drive.
*
* This file is part of the Mingw32 package.
*
* Contributors:
* Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
*
* THIS SOFTWARE IS NOT COPYRIGHTED
*
* This source code is offered for use in the public domain. You may
* use, modify or distribute it freely.
*
* This code is distributed in the hope that it will be useful but
* WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
* DISCLAMED. This includes but is not limited to warranties of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* $Revision$
* $Author$
* $Date$
*
*/
#ifndef __STRICT_ANSI__
#ifndef _DIRECT_H_
#define _DIRECT_H_
/* All the headers include this file. */
#include <_mingw.h>
#define __need_wchar_t
#ifndef RC_INVOKED
#include <stddef.h>
#endif /* Not RC_INVOKED */
#include <io.h>
#ifndef RC_INVOKED
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _DISKFREE_T_DEFINED
/* needed by _getdiskfree (also in dos.h) */
struct _diskfree_t {
unsigned total_clusters;
unsigned avail_clusters;
unsigned sectors_per_cluster;
unsigned bytes_per_sector;
};
#define _DISKFREE_T_DEFINED
#endif
/*
* You really shouldn't be using these. Use the Win32 API functions instead.
* However, it does make it easier to port older code.
*/
int _getdrive (void);
unsigned long _getdrives(void);
int _chdrive (int);
char* _getdcwd (int, char*, int);
unsigned _getdiskfree (unsigned, struct _diskfree_t *);
#ifndef _NO_OLDNAMES
# define diskfree_t _diskfree_t
#endif
#ifndef _WDIRECT_DEFINED
/* wide character versions. Also in wchar.h */
#ifdef __MSVCRT__
int _wchdir(const wchar_t*);
wchar_t* _wgetcwd(wchar_t*, int);
wchar_t* _wgetdcwd(int, wchar_t*, int);
int _wmkdir(const wchar_t*);
int _wrmdir(const wchar_t*);
#endif /* __MSVCRT__ */
#define _WDIRECT_DEFINED
#endif
#ifdef __cplusplus
}
#endif
#endif /* Not RC_INVOKED */
#endif /* Not _DIRECT_H_ */
#endif /* Not __STRICT_ANSI__ */