tccpe: use ElfW macros
[tinycc.git] / win32 / include / direct.h
blob925f4c54ce5c4b9e6730d29d9b473f31fa30a502
1 /*
2 * direct.h
4 * Functions for manipulating paths and directories (included from io.h)
5 * plus functions for setting the current drive.
7 * This file is part of the Mingw32 package.
9 * Contributors:
10 * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
12 * THIS SOFTWARE IS NOT COPYRIGHTED
14 * This source code is offered for use in the public domain. You may
15 * use, modify or distribute it freely.
17 * This code is distributed in the hope that it will be useful but
18 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
19 * DISCLAIMED. This includes but is not limited to warranties of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
22 * $Revision: 1.2 $
23 * $Author: bellard $
24 * $Date: 2005/04/17 13:14:29 $
28 #ifndef __STRICT_ANSI__
30 #ifndef _DIRECT_H_
31 #define _DIRECT_H_
33 /* All the headers include this file. */
34 #include <_mingw.h>
36 #define __need_wchar_t
37 #ifndef RC_INVOKED
38 #include <stddef.h>
39 #endif /* Not RC_INVOKED */
41 #include <io.h>
43 #ifndef RC_INVOKED
45 #ifdef __cplusplus
46 extern "C" {
47 #endif
49 #ifndef _DISKFREE_T_DEFINED
50 /* needed by _getdiskfree (also in dos.h) */
51 struct _diskfree_t {
52 unsigned total_clusters;
53 unsigned avail_clusters;
54 unsigned sectors_per_cluster;
55 unsigned bytes_per_sector;
57 #define _DISKFREE_T_DEFINED
58 #endif
61 * You really shouldn't be using these. Use the Win32 API functions instead.
62 * However, it does make it easier to port older code.
64 int _getdrive (void);
65 unsigned long _getdrives(void);
66 int _chdrive (int);
67 char* _getdcwd (int, char*, int);
68 unsigned _getdiskfree (unsigned, struct _diskfree_t *);
70 #ifndef _NO_OLDNAMES
71 # define diskfree_t _diskfree_t
72 #endif
74 #ifndef _WDIRECT_DEFINED
75 /* wide character versions. Also in wchar.h */
76 #ifdef __MSVCRT__
77 int _wchdir(const wchar_t*);
78 wchar_t* _wgetcwd(wchar_t*, int);
79 wchar_t* _wgetdcwd(int, wchar_t*, int);
80 int _wmkdir(const wchar_t*);
81 int _wrmdir(const wchar_t*);
82 #endif /* __MSVCRT__ */
83 #define _WDIRECT_DEFINED
84 #endif
86 #ifdef __cplusplus
88 #endif
90 #endif /* Not RC_INVOKED */
92 #endif /* Not _DIRECT_H_ */
94 #endif /* Not __STRICT_ANSI__ */