Files
nt-lite/code/public/ntlite/file_stat.h
T

32 lines
920 B
C

// Public NTLite file metadata ABI declarations shared between kernel, drivers, and user mode.
#pragma once
#include <stdint.h>
#include <ntlite/time.h>
#define SYS_FILE_TYPE_UNKNOWN 0u
#define SYS_FILE_TYPE_REGULAR 1u
#define SYS_FILE_TYPE_DIRECTORY 2u
#define SYS_FILE_ATTR_READ_ONLY 0x00000001u
#define SYS_FILE_ATTR_HIDDEN 0x00000002u
#define SYS_FILE_ATTR_SYSTEM 0x00000004u
#define SYS_FILE_ATTR_VOLUME_ID 0x00000008u
#define SYS_FILE_ATTR_DIRECTORY 0x00000010u
#define SYS_FILE_ATTR_ARCHIVE 0x00000020u
// Metadata returned by path and handle stat syscalls.
typedef struct SYS_FILE_STAT {
uint32_t Size;
uint32_t Type;
uint32_t Attributes;
uint32_t LinkCount;
uint64_t FileSize;
uint64_t VolumeId;
uint64_t FileId;
SYS_SYSTEM_TIME CreationTime;
SYS_SYSTEM_TIME LastAccessTime;
SYS_SYSTEM_TIME LastWriteTime;
SYS_SYSTEM_TIME ChangeTime;
} SYS_FILE_STAT;