1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
/***
*direct.h - function declarations for directory handling/creation
*
* Copyright (c) 1985-1993, Microsoft Corporation. All rights reserved.
*
*Purpose:
* This include file contains the function declarations for the library
* functions related to directory handling and creation.
*
*Revision History:
* 12/11/87 JCR Added "_loadds" functionality
* 12-18-87 JCR Added _FAR_ to declarations
* 02-10-88 JCR Cleaned up white space
* 08-22-88 GJF Modified to also work with the 386 (small model only)
* 01-31-89 JCR Added _chdrive, _fullpath, _getdrive, _getdcwd
* 05-03-89 JCR Added _INTERNAL_IFSTRIP for relinc usage
* 07-28-89 GJF Cleanup, now specific to OS/2 2.0 (i.e., 386 flat model)
* 10-30-89 GJF Fixed copyright
* 11-02-89 JCR Changed "DLL" to "_DLL"
* 11-17-89 GJF Moved _fullpath prototype to stdlib.h. Added const
* attrib. to arg types for chdir, mkdir, rmdir
* 02-28-90 GJF Added #ifndef _INC_DIRECT and #include <cruntime.h>
* stuff. Also, removed some (now) useless preprocessor
* directives.
* 03-21-90 GJF Replaced _cdecl with _CALLTYPE1 or _CALLTYPE2 in
* prototypes.
* 03-30-90 GJF Now all are _CALLTYPE1.
* 01-17-91 GJF ANSI naming.
* 08-20-91 JCR C++ and ANSI naming
* 08-26-91 BWM Added _diskfree_t, _getdiskfree, and
* 09-26-91 JCR Non-ANSI alias is for getcwd, not getDcwd (oops)
* 09-28-91 JCR ANSI names: DOSX32=prototypes, WIN32=#defines for now
* 04-29-92 GJF Added _getdcwd_lk for Win32.
* 08-07-92 GJF Function calling type and variable type macros.
* 01-21-93 GJF Removed support for C6-386's _cdecl.
*
****/
#ifndef _INC_DIRECT
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _INTERNAL_IFSTRIP_
#include <cruntime.h>
#endif /* _INTERNAL_IFSTRIP_ */
/*
* Conditional macro definition for function calling type and variable type
* qualifiers.
*/
#if ( (_MSC_VER >= 800) && (_M_IX86 >= 300) )
/*
* Definitions for MS C8-32 (386/486) compiler
*/
#define _CRTAPI1 __cdecl
#define _CRTAPI2 __cdecl
#else
/*
* Other compilers (e.g., MIPS)
*/
#define _CRTAPI1
#define _CRTAPI2
#endif
#ifndef _SIZE_T_DEFINED
typedef unsigned int size_t;
#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 */
int _CRTAPI1 _chdir(const char *);
int _CRTAPI1 _chdrive(int);
char * _CRTAPI1 _getcwd(char *, int);
char * _CRTAPI1 _getdcwd(int, char *, int);
int _CRTAPI1 _getdrive(void);
int _CRTAPI1 _mkdir(const char *);
int _CRTAPI1 _rmdir(const char *);
unsigned _CRTAPI1 _getdiskfree(unsigned, struct _diskfree_t *);
unsigned long _CRTAPI1 _getdrives(void);
#ifdef MTHREAD /* _MTHREAD_ONLY */
char * _CRTAPI1 _getdcwd_lk(int, char *, int); /* _MTHREAD_ONLY */
#else /* _MTHREAD_ONLY */
#define _getdcwd_lk(drv, buf, len) _getdcwd(drv, buf, len) /* _MTHREAD_ONLY */
#endif /* _MTHREAD_ONLY */
#if !__STDC__
/* Non-ANSI names for compatibility */
#ifndef _DOSX32_
#define chdir _chdir
#define getcwd _getcwd
#define mkdir _mkdir
#define rmdir _rmdir
#else
int _CRTAPI1 chdir(const char *);
char * _CRTAPI1 getcwd(int, char *, int);
int _CRTAPI1 mkdir(const char *);
int _CRTAPI1 rmdir(const char *);
#endif
#define diskfree_t _diskfree_t
#endif /* __STDC__ */
#ifdef __cplusplus
}
#endif
#define _INC_DIRECT
#endif /* _INC_DIRECT */
|