diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2014-10-17 12:19:27 +0400 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2014-10-17 12:19:27 +0400 |
commit | 1db937e9866e6b4cfa8b0b8a2e2ed908ec0eb194 (patch) | |
tree | c18119a9c8ffdd2450006444e6d0766f6890ea30 /winsup/cygwin/ntdll.h | |
parent | 5fedfc22b8380c289c38874eab2c4996cefca575 (diff) |
* Makefile.in (DLL_OFILES): Add quotactl.o.
* common.din (quotactl): Export.
* ntdll.h: Define FILE_FS_CONTROL_INFORMATION::FileSystemControlFlags
flag values.
(struct _FILE_FS_CONTROL_INFORMATION): Define.
(struct _FILE_GET_QUOTA_INFORMATION): Define.
(typedef struct _FILE_QUOTA_INFORMATION): Define.
(NtQueryObject): Use PVOID rather than VOID*.
(NtQueryVolumeInformationFile): Ditto.
(NtQueryQuotaInformationFile): Declare.
(NtSetQuotaInformationFile): Declare.
(NtSetVolumeInformationFile): Declare.
* quotactl.cc: New file implementing quotactl().
* include/sys/mount.h (BLOCK_SIZE): Define.
(BLOCK_SIZE_BITS): Define.
* include/sys/quota.h: New header.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
Diffstat (limited to 'winsup/cygwin/ntdll.h')
-rw-r--r-- | winsup/cygwin/ntdll.h | 57 |
1 files changed, 52 insertions, 5 deletions
diff --git a/winsup/cygwin/ntdll.h b/winsup/cygwin/ntdll.h index f644b407b..7d8ccbec3 100644 --- a/winsup/cygwin/ntdll.h +++ b/winsup/cygwin/ntdll.h @@ -143,6 +143,19 @@ #define HEAP_FLAG_EXECUTABLE 0x40000 #define HEAP_FLAG_DEBUGGED 0x40000000 +#define FILE_VC_QUOTA_NONE 0x00000000 +#define FILE_VC_QUOTA_TRACK 0x00000001 +#define FILE_VC_QUOTA_ENFORCE 0x00000002 +#define FILE_VC_QUOTA_MASK 0x00000003 +#define FILE_VC_CONTENT_INDEX_DISABLED 0x00000008 +#define FILE_VC_LOG_QUOTA_THRESHOLD 0x00000010 +#define FILE_VC_LOG_QUOTA_LIMIT 0x00000020 +#define FILE_VC_LOG_VOLUME_THRESHOLD 0x00000040 +#define FILE_VC_LOG_VOLUME_LIMIT 0x00000080 +#define FILE_VC_QUOTAS_INCOMPLETE 0x00000100 +#define FILE_VC_QUOTAS_REBUILDING 0x00000200 +#define FILE_VC_VALID_MASK 0x000003ff + /* IOCTL code to impersonate client of named pipe. */ #define FSCTL_PIPE_IMPERSONATE CTL_CODE(FILE_DEVICE_NAMED_PIPE, 7, \ METHOD_BUFFERED, FILE_ANY_ACCESS) @@ -1000,6 +1013,16 @@ typedef struct _FILE_FS_SIZE_INFORMATION } FILE_FS_SIZE_INFORMATION, *PFILE_FS_SIZE_INFORMATION; /* Checked on 64 bit. */ +typedef struct _FILE_FS_CONTROL_INFORMATION { + LARGE_INTEGER FreeSpaceStartFiltering; + LARGE_INTEGER FreeSpaceThreshold; + LARGE_INTEGER FreeSpaceStopFiltering; + LARGE_INTEGER DefaultQuotaThreshold; + LARGE_INTEGER DefaultQuotaLimit; + ULONG FileSystemControlFlags; +} FILE_FS_CONTROL_INFORMATION, *PFILE_FS_CONTROL_INFORMATION; + +/* Checked on 64 bit. */ typedef struct _FILE_FS_FULL_SIZE_INFORMATION { LARGE_INTEGER TotalAllocationUnits; @@ -1067,6 +1090,24 @@ typedef struct _DIRECTORY_BASIC_INFORMATION } DIRECTORY_BASIC_INFORMATION, *PDIRECTORY_BASIC_INFORMATION; /* Checked on 64 bit. */ +typedef struct _FILE_GET_QUOTA_INFORMATION { + ULONG NextEntryOffset; + ULONG SidLength; + SID Sid; +} FILE_GET_QUOTA_INFORMATION, *PFILE_GET_QUOTA_INFORMATION; + +/* Checked on 64 bit. */ +typedef struct _FILE_QUOTA_INFORMATION { + ULONG NextEntryOffset; + ULONG SidLength; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER QuotaUsed; + LARGE_INTEGER QuotaThreshold; + LARGE_INTEGER QuotaLimit; + SID Sid; +} FILE_QUOTA_INFORMATION, *PFILE_QUOTA_INFORMATION; + +/* Checked on 64 bit. */ typedef struct _FILE_GET_EA_INFORMATION { ULONG NextEntryOffset; @@ -1301,8 +1342,11 @@ extern "C" ULONG, PULONG); NTSTATUS NTAPI NtQueryInformationToken (HANDLE, TOKEN_INFORMATION_CLASS, PVOID, ULONG, PULONG); - NTSTATUS NTAPI NtQueryObject (HANDLE, OBJECT_INFORMATION_CLASS, VOID *, - ULONG, ULONG *); + NTSTATUS NTAPI NtQueryObject (HANDLE, OBJECT_INFORMATION_CLASS, PVOID, ULONG, + PULONG); + NTSTATUS NTAPI NtQueryQuotaInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, + ULONG, BOOLEAN, PVOID, ULONG, + PSID, BOOLEAN); NTSTATUS NTAPI NtQuerySemaphore (HANDLE, SEMAPHORE_INFORMATION_CLASS, PVOID, ULONG, PULONG); NTSTATUS NTAPI NtQuerySystemInformation (SYSTEM_INFORMATION_CLASS, @@ -1319,9 +1363,8 @@ extern "C" PULONG); NTSTATUS NTAPI NtQueryVirtualMemory (HANDLE, PVOID, MEMORY_INFORMATION_CLASS, PVOID, SIZE_T, PSIZE_T); - NTSTATUS NTAPI NtQueryVolumeInformationFile (HANDLE, IO_STATUS_BLOCK *, - VOID *, ULONG, - FS_INFORMATION_CLASS); + NTSTATUS NTAPI NtQueryVolumeInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, + ULONG, FS_INFORMATION_CLASS); NTSTATUS NTAPI NtReadFile (HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, PVOID, ULONG, PLARGE_INTEGER, PULONG); @@ -1333,6 +1376,8 @@ extern "C" NTSTATUS NTAPI NtSetInformationThread (HANDLE, THREADINFOCLASS, PVOID, ULONG); NTSTATUS NTAPI NtSetInformationToken (HANDLE, TOKEN_INFORMATION_CLASS, PVOID, ULONG); + NTSTATUS NTAPI NtSetQuotaInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, + ULONG); NTSTATUS NTAPI NtSetSecurityObject (HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR); NTSTATUS NTAPI NtSetTimer (HANDLE, PLARGE_INTEGER, PTIMER_APC_ROUTINE, PVOID, @@ -1340,6 +1385,8 @@ extern "C" NTSTATUS NTAPI NtSetTimerResolution (ULONG, BOOLEAN, PULONG); NTSTATUS NTAPI NtSetValueKey (HANDLE, PUNICODE_STRING, ULONG, ULONG, PVOID, ULONG); + NTSTATUS NTAPI NtSetVolumeInformationFile (HANDLE, PIO_STATUS_BLOCK, PVOID, + ULONG, FS_INFORMATION_CLASS); NTSTATUS NTAPI NtUnlockFile (HANDLE, PIO_STATUS_BLOCK, PLARGE_INTEGER, PLARGE_INTEGER, ULONG); NTSTATUS NTAPI NtUnlockVirtualMemory (HANDLE, PVOID *, PSIZE_T, ULONG); |