diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2000-06-27 18:21:31 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2000-06-27 18:21:31 +0000 |
commit | 666b9d7bb8d9ca3f704de67f43300d15b0fe7398 (patch) | |
tree | d7e35a2140eb56d2d07cb94756dfb6f3fb9a457e /winsup/w32api | |
parent | 650536b3829d5adf2d9484cbf763da1b815c28dc (diff) | |
download | newlib-666b9d7bb8d9ca3f704de67f43300d15b0fe7398.zip newlib-666b9d7bb8d9ca3f704de67f43300d15b0fe7398.tar.gz newlib-666b9d7bb8d9ca3f704de67f43300d15b0fe7398.tar.bz2 |
* include/winbase.h: Add stream ids BACKUP_OBJECT_ID,
BACKUP_REPARSE_DATA and BACKUP_SPARSE_BLOCK.
Add file open flags FILE_FLAG_OPEN_REPARSE_POINT and
FILE_FLAG_OPEN_NO_RECALL.
* winioctl.h: Add device io control codes FSCTL_GET_REPARSE_POINT,
FSCTL_SET_REPARSE_POINT and FSCTL_DELETE_REPARSE_POINT.
* winnt.h: Add typedef for GUID.
Add file attributes FILE_ATTRIBUTE_ENCRYPTED,
FILE_ATTRIBUTE_SPARSE_FILE, FILE_ATTRIBUTE_REPARSE_POINT and
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED.
Add volume attributes FILE_VOLUME_QUOTAS, FILE_SUPPORTS_SPARSE_FILES,
FILE_SUPPORTS_REPARSE_POINTS, FILE_SUPPORTS_REMOTE_STORAGE,
FILE_SUPPORTS_OBJECT_IDS and FILE_SUPPORTS_ENCRYPTION.
Add several reparse point defines and typedefs for REPARSE_DATA_BUFFER,
REPARSE_GUID_DATA_BUFFER and REPARSE_POINT_INFORMATION.
* lib/psapi.def: New file.
Diffstat (limited to 'winsup/w32api')
-rw-r--r-- | winsup/w32api/ChangeLog | 19 | ||||
-rw-r--r-- | winsup/w32api/include/winbase.h | 5 | ||||
-rw-r--r-- | winsup/w32api/include/winioctl.h | 3 | ||||
-rw-r--r-- | winsup/w32api/include/winnt.h | 71 | ||||
-rw-r--r-- | winsup/w32api/lib/psapi.def | 21 |
5 files changed, 118 insertions, 1 deletions
diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index 07661ed..a3c564c 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,22 @@ +Tue Jun 27 19:35:00 2000 Corinna Vinschen <corinna@vinschen.de> + + * include/winbase.h: Add stream ids BACKUP_OBJECT_ID, + BACKUP_REPARSE_DATA and BACKUP_SPARSE_BLOCK. + Add file open flags FILE_FLAG_OPEN_REPARSE_POINT and + FILE_FLAG_OPEN_NO_RECALL. + * winioctl.h: Add device io control codes FSCTL_GET_REPARSE_POINT, + FSCTL_SET_REPARSE_POINT and FSCTL_DELETE_REPARSE_POINT. + * winnt.h: Add typedef for GUID. + Add file attributes FILE_ATTRIBUTE_ENCRYPTED, + FILE_ATTRIBUTE_SPARSE_FILE, FILE_ATTRIBUTE_REPARSE_POINT and + FILE_ATTRIBUTE_NOT_CONTENT_INDEXED. + Add volume attributes FILE_VOLUME_QUOTAS, FILE_SUPPORTS_SPARSE_FILES, + FILE_SUPPORTS_REPARSE_POINTS, FILE_SUPPORTS_REMOTE_STORAGE, + FILE_SUPPORTS_OBJECT_IDS and FILE_SUPPORTS_ENCRYPTION. + Add several reparse point defines and typedefs for REPARSE_DATA_BUFFER, + REPARSE_GUID_DATA_BUFFER and REPARSE_POINT_INFORMATION. + * lib/psapi.def: New file. + Thu Jun 22 14:36:19 2000 Christopher Faylor <cgf@cygnus.com> * rpcdce.h: Protect OPTIONAL definition since it may be (legally) diff --git a/winsup/w32api/include/winbase.h b/winsup/w32api/include/winbase.h index 1611557..0415c53 100644 --- a/winsup/w32api/include/winbase.h +++ b/winsup/w32api/include/winbase.h @@ -176,6 +176,8 @@ extern "C" { #define FILE_FLAG_DELETE_ON_CLOSE 67108864 #define FILE_FLAG_BACKUP_SEMANTICS 33554432 #define FILE_FLAG_POSIX_SEMANTICS 16777216 +#define FILE_FLAG_OPEN_REPARSE_POINT 2097152 +#define FILE_FLAG_OPEN_NO_RECALL 1048576 #define CLRDTR 6 #define CLRRTS 4 #define SETDTR 5 @@ -434,6 +436,9 @@ extern "C" { #define BACKUP_ALTERNATE_DATA 4 #define BACKUP_LINK 5 #define BACKUP_PROPERTY_DATA 6 +#define BACKUP_OBJECT_ID 7 +#define BACKUP_REPARSE_DATA 8 +#define BACKUP_SPARSE_BLOCK 9 #define STREAM_NORMAL_ATTRIBUTE 0 #define STREAM_MODIFIED_WHEN_READ 1 #define STREAM_CONTAINS_SECURITY 2 diff --git a/winsup/w32api/include/winioctl.h b/winsup/w32api/include/winioctl.h index b9ac29f..2c1b40a 100644 --- a/winsup/w32api/include/winioctl.h +++ b/winsup/w32api/include/winioctl.h @@ -113,6 +113,9 @@ extern "C" { #define FSCTL_SET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,16,METHOD_BUFFERED,FILE_READ_DATA|FILE_WRITE_DATA) #define FSCTL_READ_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,17,METHOD_NEITHER,FILE_READ_DATA) #define FSCTL_WRITE_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,18,METHOD_NEITHER,FILE_WRITE_DATA) +#define FSCTL_GET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_DELETE_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, FILE_WRITE_DATA) typedef WORD BAD_TRACK_NUMBER,*PBAD_TRACK_NUMBER; typedef enum _BIN_TYPES {RequestSize,RequestLocation} BIN_TYPES; typedef struct _BIN_RANGE { diff --git a/winsup/w32api/include/winnt.h b/winsup/w32api/include/winnt.h index 46350aa..dfdbb71 100644 --- a/winsup/w32api/include/winnt.h +++ b/winsup/w32api/include/winnt.h @@ -125,6 +125,16 @@ typedef LONGLONG USN; #define UNICODE_NULL L'\0' typedef BYTE BOOLEAN,*PBOOLEAN; #endif +#ifndef GUID_DEFINED +#define GUID_DEFINED +typedef struct _GUID +{ + unsigned long Data1; + unsigned short Data2; + unsigned short Data3; + unsigned char Data4[8]; +} GUID,*REFGUID,*LPGUID; +#endif /* GUID_DEFINED */ #define NTAPI __stdcall #define APPLICATION_ERROR_MASK 0x20000000 @@ -194,10 +204,14 @@ typedef BYTE BOOLEAN,*PBOOLEAN; #define FILE_ATTRIBUTE_SYSTEM 4 #define FILE_ATTRIBUTE_DIRECTORY 16 #define FILE_ATTRIBUTE_ARCHIVE 32 +#define FILE_ATTRIBUTE_ENCRYPTED 64 #define FILE_ATTRIBUTE_NORMAL 128 #define FILE_ATTRIBUTE_TEMPORARY 256 +#define FILE_ATTRIBUTE_SPARSE_FILE 512 +#define FILE_ATTRIBUTE_REPARSE_POINT 1024 #define FILE_ATTRIBUTE_COMPRESSED 2048 #define FILE_ATTRIBUTE_OFFLINE 0x1000 +#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x2000 #define FILE_NOTIFY_CHANGE_FILE_NAME 1 #define FILE_NOTIFY_CHANGE_DIR_NAME 2 #define FILE_NOTIFY_CHANGE_ATTRIBUTES 4 @@ -213,7 +227,13 @@ typedef BYTE BOOLEAN,*PBOOLEAN; #define FILE_UNICODE_ON_DISK 4 #define FILE_PERSISTENT_ACLS 8 #define FILE_FILE_COMPRESSION 16 +#define FILE_VOLUME_QUOTAS 32 +#define FILE_SUPPORTS_SPARSE_FILES 64 +#define FILE_SUPPORTS_REPARSE_POINTS 128 +#define FILE_SUPPORTS_REMOTE_STORAGE 256 #define FILE_VOLUME_IS_COMPRESSED 0x8000 +#define FILE_SUPPORTS_OBJECT_IDS 0x10000 +#define FILE_SUPPORTS_ENCRYPTION 0x20000 #define IO_COMPLETION_MODIFY_STATE 2 #define IO_COMPLETION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|3) #define DUPLICATE_CLOSE_SOURCE 1 @@ -1018,7 +1038,19 @@ typedef BYTE BOOLEAN,*PBOOLEAN; #define INCREF(x) ((((x)&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)|((x)&N_BTMASK)) #define DECREF(x) ((((x)>>N_TSHIFT)&~N_BTMASK)|((x)&N_BTMASK)) #define TLS_MINIMUM_AVAILABLE 64 - +#define REPARSE_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer) +#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer) +#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE 16384 +#define IO_REPARSE_TAG_RESERVED_ZERO 0 +#define IO_REPARSE_TAG_RESERVED_ONE 1 +#define IO_REPARSE_TAG_RESERVED_RANGE IO_REPARSE_TAG_RESERVED_ONE +#define IsReparseTagMicrosoft(x) ((x)&0x80000000) +#define IsReparseTagHighLatency(x) ((x)&0x40000000) +#define IsReparseTagNameSurrogate(x) ((x)&0x20000000) +#define IO_REPARSE_TAG_VALID_VALUES 0xE000FFFF +#define IsReparseTagValid(x) (!((x)&~IO_REPARSE_TAG_VALID_VALUES)&&((x)>IO_REPARSE_TAG_RESERVED_RANGE)) +#define IO_REPARSE_TAG_SYMBOLIC_LINK IO_REPARSE_TAG_RESERVED_ZERO +#define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003 #ifndef RC_INVOKED typedef DWORD ACCESS_MASK; typedef struct _GENERIC_MAPPING { @@ -2356,6 +2388,43 @@ typedef struct _NT_TIB { PVOID ArbitraryUserPointer; struct _NT_TIB *Self; } NT_TIB,*PNT_TIB; +typedef struct _REPARSE_DATA_BUFFER { + DWORD ReparseTag; + WORD ReparseDataLength; + WORD Reserved; + union { + struct { + WORD SubstituteNameOffset; + WORD SubstituteNameLength; + WORD PrintNameOffset; + WORD PrintNameLength; + WCHAR PathBuffer[1]; + } SymbolicLinkReparseBuffer; + struct { + WORD SubstituteNameOffset; + WORD SubstituteNameLength; + WORD PrintNameOffset; + WORD PrintNameLength; + WCHAR PathBuffer[1]; + } MountPointReparseBuffer; + struct { + BYTE DataBuffer[1]; + } GenericReparseBuffer; + }; +} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER; +typedef struct _REPARSE_GUID_DATA_BUFFER { + DWORD ReparseTag; + WORD ReparseDataLength; + WORD Reserved; + GUID ReparseGuid; + struct { + BYTE DataBuffer[1]; + } GenericReparseBuffer; +} REPARSE_GUID_DATA_BUFFER, *PREPARSE_GUID_DATA_BUFFER; +typedef struct _REPARSE_POINT_INFORMATION { + WORD ReparseDataLength; + WORD UnparsedNameLength; +} REPARSE_POINT_INFORMATION, *PREPARSE_POINT_INFORMATION; PVOID GetCurrentFiber(void); PVOID GetFiberData(void); #endif diff --git a/winsup/w32api/lib/psapi.def b/winsup/w32api/lib/psapi.def new file mode 100644 index 0000000..9d79fe8 --- /dev/null +++ b/winsup/w32api/lib/psapi.def @@ -0,0 +1,21 @@ +LIBRARY PSAPI.DLL +EXPORTS +EmptyWorkingSet@4 +EnumDeviceDrivers@12 +EnumProcesses@12 +EnumProcessModules@16 +GetDeviceDriverBaseNameA@12 +GetDeviceDriverBaseNameW@12 +GetDeviceDriverFileNameA@12 +GetDeviceDriverFileNameW@12 +GetMappedFileNameA@16 +GetMappedFileNameW@16 +GetModuleBaseNameA@16 +GetModuleBaseNameW@16 +GetModuleFileNameExA@16 +GetModuleFileNameExW@16 +GetModuleInformation@16 +GetProcessMemoryInfo@12 +GetWsChanges@12 +InitializeProcessForWsWatch@4 +QueryWorkingSet@12 |