#ifndef _NT_STATFS_H_ #define _NT_STATFS_H_ #include "nt_abi.h" #include "nt_object.h" /* ntapi_tt_statfs info flags bits */ #define NT_STATFS_DEFAULT (0x00000000) #define NT_STATFS_COMMON (0x00000001) #define NT_STATFS_DEV_NAME_COPY (0x00000002) #define NT_STATFS_VOLUME_GUID (0x00000004) #define NT_STATFS_DOS_DRIVE_LETTER NT_STATFS_VOLUME_GUID #define NT_STATFS_MUP_DEVICE (0x20000000) #define NT_FS_TYPE_FAT16_NAME_HASH (0x00000000) #define NT_FS_TYPE_FAT32_NAME_HASH (0x00000001) #define NT_FS_TYPE_HPFS_NAME_HASH (0x00000002) #define NT_FS_TYPE_MSDOS_NAME_HASH (0x00000003) #define NT_FS_TYPE_NTFS_NAME_HASH (0xbfbc5fdb) #define NT_FS_TYPE_SMB_NAME_HASH (0x00000004) #define NT_FS_TYPE_UDF_NAME_HASH (0x00000005) typedef struct _nt_fsid_t { uint32_t __val[2]; } nt_fsid_t; typedef struct _nt_statfs { uintptr_t f_type; uintptr_t f_bsize; uint64_t f_blocks; uint64_t f_bfree; uint64_t f_bavail; uint64_t f_files; uint64_t f_ffree; nt_fsid_t f_fsid; uintptr_t f_namelen; uintptr_t f_frsize; uintptr_t f_flags; uintptr_t f_spare[4]; uint32_t nt_fstype_hash; uint32_t nt_attr; wchar16_t nt_drive_letter; wchar16_t nt_padding; nt_guid nt_volume_guid; void * hfile; uint32_t flags; uint16_t obj_name_strlen; uint16_t obj_name_maxlen; uint16_t dev_name_strlen; uint16_t dev_name_maxlen; uint32_t dev_name_hash; wchar16_t dev_name[]; } nt_statfs; typedef int32_t __stdcall ntapi_tt_statfs( __in void * hfile, __out nt_statfs * info, __in uint32_t infolen, __out uintptr_t * buffer, __in uint32_t buffer_size, __in uint32_t flags); #endif