d436579975ada9cdc265f0677d6b9eec5a0f0f96
[reactos.git] / lib / crtdll / direct / getdfree.c
1 #include <windows.h>
2 #include <msvcrt/ctype.h>
3 #include <msvcrt/direct.h>
4
5
6 /*
7  * @implemented
8  */
9 unsigned int _getdiskfree(unsigned int _drive, struct _diskfree_t* _diskspace)
10 {
11     char RootPathName[10];
12
13     RootPathName[0] = toupper(_drive +'@');
14     RootPathName[1] = ':';
15     RootPathName[2] = '\\';
16     RootPathName[3] = 0;
17     if (_diskspace == NULL)
18         return 0;
19     if (!GetDiskFreeSpaceA(RootPathName,(LPDWORD)&_diskspace->sectors_per_cluster,(LPDWORD)&_diskspace->bytes_per_sector,
20             (LPDWORD )&_diskspace->avail_clusters,(LPDWORD )&_diskspace->total_clusters))
21         return 0;
22     return _diskspace->avail_clusters;
23 }