|
|
dd89bb |
#ifndef _NT_STATFS_H_
|
|
|
dd89bb |
#define _NT_STATFS_H_
|
|
|
dd89bb |
|
|
|
dd89bb |
#include <psxtypes/psxtypes.h>
|
|
|
dd89bb |
#include <ntapi/nt_object.h>
|
|
|
dd89bb |
|
|
|
dd89bb |
/* ntapi_tt_statfs info flags bits */
|
|
|
dd89bb |
#define NT_STATFS_DEFAULT (0x00000000)
|
|
|
dd89bb |
#define NT_STATFS_COMMON (0x00000001)
|
|
|
dd89bb |
#define NT_STATFS_DEV_NAME_COPY (0x00000002)
|
|
|
dd89bb |
#define NT_STATFS_VOLUME_GUID (0x00000004)
|
|
|
dd89bb |
#define NT_STATFS_DOS_DRIVE_LETTER NT_STATFS_VOLUME_GUID
|
|
|
dd89bb |
#define NT_STATFS_NEW_HANDLE (0x80000000)
|
|
|
dd89bb |
|
|
|
dd89bb |
|
|
|
dd89bb |
#define NT_FS_TYPE_FAT16_NAME_HASH (0x00000000)
|
|
|
dd89bb |
#define NT_FS_TYPE_FAT32_NAME_HASH (0x00000001)
|
|
|
dd89bb |
#define NT_FS_TYPE_HPFS_NAME_HASH (0x00000002)
|
|
|
dd89bb |
#define NT_FS_TYPE_MSDOS_NAME_HASH (0x00000003)
|
|
|
dd89bb |
#define NT_FS_TYPE_NTFS_NAME_HASH (0xbfbc5fdb)
|
|
|
dd89bb |
#define NT_FS_TYPE_SMB_NAME_HASH (0x00000004)
|
|
|
dd89bb |
#define NT_FS_TYPE_UDF_NAME_HASH (0x00000005)
|
|
|
dd89bb |
|
|
|
dd89bb |
typedef struct _nt_fsid_t {
|
|
|
dd89bb |
uint32_t __val[2];
|
|
|
dd89bb |
} nt_fsid_t;
|
|
|
dd89bb |
|
|
|
dd89bb |
typedef struct _nt_statfs {
|
|
|
dd89bb |
uintptr_t f_type;
|
|
|
dd89bb |
uintptr_t f_bsize;
|
|
|
dd89bb |
uint64_t f_blocks;
|
|
|
dd89bb |
uint64_t f_bfree;
|
|
|
dd89bb |
uint64_t f_bavail;
|
|
|
dd89bb |
uint64_t f_files;
|
|
|
dd89bb |
uint64_t f_ffree;
|
|
|
dd89bb |
nt_fsid_t f_fsid;
|
|
|
dd89bb |
uintptr_t f_namelen;
|
|
|
dd89bb |
uintptr_t f_frsize;
|
|
|
dd89bb |
uintptr_t f_flags;
|
|
|
dd89bb |
uintptr_t f_spare[4];
|
|
|
dd89bb |
uint32_t nt_fstype_hash;
|
|
|
dd89bb |
uint32_t nt_attr;
|
|
|
dd89bb |
uint32_t nt_control_flags;
|
|
|
dd89bb |
wchar16_t nt_drive_letter;
|
|
|
dd89bb |
wchar16_t nt_padding;
|
|
|
dd89bb |
nt_guid nt_volume_guid;
|
|
|
dd89bb |
void * hfile;
|
|
|
dd89bb |
uint32_t flags_in;
|
|
|
dd89bb |
uint32_t flags_out;
|
|
|
dd89bb |
uint16_t record_name_strlen;
|
|
|
dd89bb |
uint16_t dev_name_strlen;
|
|
|
dd89bb |
uint16_t dev_name_maxlen;
|
|
|
dd89bb |
uint32_t dev_name_hash;
|
|
|
dd89bb |
wchar16_t dev_name[];
|
|
|
dd89bb |
} nt_statfs;
|
|
|
dd89bb |
|
|
|
dd89bb |
|
|
|
dd89bb |
typedef int32_t __stdcall ntapi_tt_statfs(
|
|
|
dd89bb |
__in void * hfile __optional,
|
|
|
dd89bb |
__in void * hroot __optional,
|
|
|
dd89bb |
__in nt_unicode_string * path __optional,
|
|
|
dd89bb |
__out nt_statfs * statfs,
|
|
|
dd89bb |
__out uintptr_t * buffer,
|
|
|
dd89bb |
__in uint32_t buffer_size,
|
|
|
dd89bb |
__in uint32_t flags);
|
|
|
dd89bb |
|
|
|
dd89bb |
|
|
|
dd89bb |
#endif
|