-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This patch causes an issue compiling winpthreads!

/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.
- -I/opt/devel/gnu/src/gcc-mingw-w64/winpthreads
- -I/opt/devel/gnu/src/gcc-mingw-w64/winpthreads/include -DIN_WINPTHREAD  -Wall
- -DWIN32_LEAN_AND_MEAN -g -O2 -MT src/libwinpthread_la-mutex.lo -MD -MP -MF
src/.deps/libwinpthread_la-mutex.Tpo -c -o src/libwinpthread_la-mutex.lo `test
- -f 'src/mutex.c' || echo
'/opt/devel/gnu/src/gcc-mingw-w64/winpthreads/'`src/mutex.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I.
- -I/opt/devel/gnu/src/gcc-mingw-w64/winpthreads
- -I/opt/devel/gnu/src/gcc-mingw-w64/winpthreads/include -DIN_WINPTHREAD -Wall
- -DWIN32_LEAN_AND_MEAN -g -O2 -MT src/libwinpthread_la-mutex.lo -MD -MP -MF
src/.deps/libwinpthread_la-mutex.Tpo -c
/opt/devel/gnu/src/gcc-mingw-w64/winpthreads/src/mutex.c  -DDLL_EXPORT -DPIC
- -o src/.libs/libwinpthread_la-mutex.o
In file included from
d:/opt/devel/gnu/src/gcc-mingw-w64/winpthreads/src/mutex.c:24:0:
D:/x86_64-w64-trunk/mingw/include/winternl.h:513:5: error: unknown type name
'DEVICE_TYPE'
make[1]: *** [src/libwinpthread_la-mutex.lo] Error 1
make[1]: Leaving directory
`/home/rainer/software/build/winpthreads/x86_64-w64-mingw32/trunk'
make: *** [all] Error 2

Rainer

Am 11.10.2012 15:27, schrieb Corinna Vinschen:
> Hi,
> 
> the below patch adds a bit of file and file system releated stuff to 
> winternl.h.  This is quite useful functionality and used by a few Cygwin 
> tools I'd like to keep compilable when we switch to mingw64 headers.
> 
> Ok to apply?
> 
> Btw., most function declarations in winternl.h use the WINAPI decoration. 
> Since all these functions are ntdll.dll functions, this should actually be 
> NTAPI.  Granted, it's the same thing, but it's the more correct name for 
> the same thing... If you agree, I'd replace WINAPI with NTAPI throughout
> as well.  Is that ok?
> 
> 
> Thanks, Corinna
> 
> 
> * winternl.h (enum _FSINFOCLASS): Define. (struct 
> _FILE_FS_VOLUME_INFORMATION): Define. (struct _FILE_FS_LABEL_INFORMATION): 
> Define. (struct _FILE_FS_SIZE_INFORMATION): Define. (struct 
> _FILE_FS_DEVICE_INFORMATION): Define. (struct 
> _FILE_FS_ATTRIBUTE_INFORMATION): Define. (struct 
> _FILE_FS_FULL_SIZE_INFORMATION): Define. (struct 
> _FILE_FS_OBJECTID_INFORMATION): Define. (NtFsControlFile): Declare. 
> (NtQueryVolumeInformationFile): Declare. (NtSetInformationFile): Declare. 
> (NtSetVolumeInformationFile): Declare. (RtlDosPathNameToNtPathName_U): 
> Declare.
> 
> 
> Index: include/winternl.h 
> =================================================================== --- 
> include/winternl.h    (revision 5428) +++ include/winternl.h  (working copy)
> @@ -474,7 +474,66 @@ FILE_ALIGNMENT_INFORMATION AlignmentInformation; 
> FILE_NAME_INFORMATION      NameInformation; } FILE_ALL_INFORMATION, 
> *PFILE_ALL_INFORMATION; - + +  typedef enum _FSINFOCLASS { + 
> FileFsVolumeInformation = 1, +    FileFsLabelInformation, + 
> FileFsSizeInformation, +    FileFsDeviceInformation, + 
> FileFsAttributeInformation, +    FileFsControlInformation, + 
> FileFsFullSizeInformation, +    FileFsObjectIdInformation, + 
> FileFsDriverPathInformation, +    FileFsVolumeFlagsInformation, + 
> FileFsMaximumInformation +  } FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS;
> + +  typedef struct _FILE_FS_VOLUME_INFORMATION { + LARGE_INTEGER
> VolumeCreationTime; +    ULONG VolumeSerialNumber; +    ULONG 
> VolumeLabelLength; +    BOOLEAN SupportsObjects; +    WCHAR VolumeLabel[1];
> +  } FILE_FS_VOLUME_INFORMATION, *PFILE_FS_VOLUME_INFORMATION; + +  typedef
> struct _FILE_FS_LABEL_INFORMATION { +    ULONG VolumeLabelLength; +
> WCHAR VolumeLabel[1]; +  } FILE_FS_LABEL_INFORMATION, 
> *PFILE_FS_LABEL_INFORMATION; + +  typedef struct _FILE_FS_SIZE_INFORMATION 
> { +    LARGE_INTEGER TotalAllocationUnits; +    LARGE_INTEGER 
> AvailableAllocationUnits; +    ULONG SectorsPerAllocationUnit; +    ULONG 
> BytesPerSector; +  } FILE_FS_SIZE_INFORMATION, *PFILE_FS_SIZE_INFORMATION;
>  + +  typedef struct _FILE_FS_DEVICE_INFORMATION { +    DEVICE_TYPE 
> DeviceType; +    ULONG Characteristics; +  } FILE_FS_DEVICE_INFORMATION, 
> *PFILE_FS_DEVICE_INFORMATION; + +  typedef struct 
> _FILE_FS_ATTRIBUTE_INFORMATION { +    ULONG FileSystemAttributes; + ULONG
> MaximumComponentNameLength; +    ULONG FileSystemNameLength; + WCHAR
> FileSystemName[1]; +  } FILE_FS_ATTRIBUTE_INFORMATION, 
> *PFILE_FS_ATTRIBUTE_INFORMATION; + +  typedef struct 
> _FILE_FS_FULL_SIZE_INFORMATION { +    LARGE_INTEGER TotalAllocationUnits;
> + LARGE_INTEGER CallerAvailableAllocationUnits; +    LARGE_INTEGER 
> ActualAvailableAllocationUnits; +    ULONG SectorsPerAllocationUnit; + 
> ULONG BytesPerSector; +  } FILE_FS_FULL_SIZE_INFORMATION, 
> *PFILE_FS_FULL_SIZE_INFORMATION; + +  typedef struct 
> _FILE_FS_OBJECTID_INFORMATION { +    UCHAR ObjectId[16]; +    UCHAR 
> ExtendedInfo[48]; +  } FILE_FS_OBJECTID_INFORMATION, 
> *PFILE_FS_OBJECTID_INFORMATION; + typedef struct _IO_STATUS_BLOCK { 
> __C89_NAMELESS union { NTSTATUS Status; @@ -850,6 +909,7 @@ NTSTATUS
> WINAPI NtClose(HANDLE Handle); NTSTATUS WINAPI NtCreateFile(PHANDLE 
> FileHandle,ACCESS_MASK DesiredAccess,POBJECT_ATTRIBUTES 
> ObjectAttributes,PIO_STATUS_BLOCK IoStatusBlock,PLARGE_INTEGER 
> AllocationSize,ULONG FileAttributes,ULONG ShareAccess,ULONG 
> CreateDisposition,ULONG CreateOptions,PVOID EaBuffer,ULONG EaLength); 
> NTSTATUS WINAPI NtOpenFile(PHANDLE FileHandle,ACCESS_MASK 
> DesiredAccess,POBJECT_ATTRIBUTES ObjectAttributes,PIO_STATUS_BLOCK 
> IoStatusBlock,ULONG ShareAccess,ULONG OpenOptions); +  NTSTATUS WINAPI 
> NtFsControlFile(HANDLE FileHandle,HANDLE Event,PIO_APC_ROUTINE 
> ApcRoutine,PVOID ApcContext,PIO_STATUS_BLOCK IoStatusBlock,ULONG 
> IoControlCode,PVOID InputBuffer,ULONG InputBufferLength,PVOID 
> OutputBuffer,ULONG OutputBufferLength); NTSTATUS WINAPI 
> NtDeviceIoControlFile(HANDLE FileHandle,HANDLE Event,PIO_APC_ROUTINE 
> ApcRoutine,PVOID ApcContext,PIO_STATUS_BLOCK IoStatusBlock,ULONG 
> IoControlCode,PVOID InputBuffer,ULONG InputBufferLength,PVOID 
> OutputBuffer,ULONG OutputBufferLength); NTSTATUS WINAPI 
> NtWaitForSingleObject(HANDLE Handle,BOOLEAN Alertable,PLARGE_INTEGER 
> Timeout); BOOLEAN WINAPI RtlIsNameLegalDOS8Dot3(PUNICODE_STRING 
> Name,POEM_STRING OemName,PBOOLEAN NameContainsSpaces); @@ -860,7 +920,10 @@
> NTSTATUS WINAPI NtQueryObject(HANDLE Handle,OBJECT_INFORMATION_CLASS 
> ObjectInformationClass,PVOID ObjectInformation,ULONG 
> ObjectInformationLength,PULONG ReturnLength); NTSTATUS WINAPI 
> NtQuerySystemInformation(SYSTEM_INFORMATION_CLASS 
> SystemInformationClass,PVOID SystemInformation,ULONG 
> SystemInformationLength,PULONG ReturnLength); NTSTATUS WINAPI 
> NtQuerySystemTime(PLARGE_INTEGER SystemTime); +  NTSTATUS WINAPI 
> NtQueryVolumeInformationFile(HANDLE hFile,PIO_STATUS_BLOCK io,PVOID 
> ptr,ULONG len,FS_INFORMATION_CLASS FsInformationClass); +  NTSTATUS NTAPI 
> NtSetInformationFile(HANDLE hFile,PIO_STATUS_BLOCK io,PVOID ptr,ULONG 
> len,FILE_INFORMATION_CLASS FileInformationClass); NTSTATUS NTAPI 
> NtSetInformationProcess(HANDLE ProcessHandle, PROCESSINFOCLASS 
> ProcessInformationClass, PVOID ProcessInformation, ULONG 
> ProcessInformationLength); +  NTSTATUS NTAPI 
> NtSetVolumeInformationFile(HANDLE hFile,PIO_STATUS_BLOCK io,PVOID
> ptr,ULONG len,FILE_INFORMATION_CLASS FileInformationClass); NTSTATUS
> WINAPI RtlLocalTimeToSystemTime(PLARGE_INTEGER LocalTime,PLARGE_INTEGER 
> SystemTime); BOOLEAN WINAPI RtlTimeToSecondsSince1970(PLARGE_INTEGER 
> Time,PULONG ElapsedSeconds); VOID WINAPI RtlFreeAnsiString(PANSI_STRING 
> AnsiString); @@ -877,6 +940,7 @@ NTSTATUS WINAPI 
> RtlConvertSidToUnicodeString(PUNICODE_STRING UnicodeString,PSID
> Sid,BOOLEAN AllocateDestinationString); ULONG WINAPI RtlUniform(PULONG
> Seed); VOID WINAPI RtlUnwind (PVOID TargetFrame,PVOID
> TargetIp,PEXCEPTION_RECORD ExceptionRecord,PVOID ReturnValue); +  BOOL
> WINAPI RtlDosPathNameToNtPathName_U(PCWSTR DosPathName, PUNICODE_STRING 
> NtPathName, PCWSTR *NtFileNamePart, VOID *DirectoryInfo);
> 
> #ifdef __ia64__ VOID RtlUnwind2(FRAME_POINTERS TargetFrame,PVOID 
> TargetIp,PEXCEPTION_RECORD ExceptionRecord,PVOID ReturnValue,PCONTEXT 
> ContextRecord);
> 
> ------------------------------------------------------------------------------
>
>
> 
Don't let slow site performance ruin your business. Deploy New Relic APM
> Deploy New Relic app performance management and know exactly what is 
> happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic 
> at no cost today and get our sweet Data Nerd shirt too! 
> http://p.sf.net/sfu/newrelic-dev2dev 
> _______________________________________________ Mingw-w64-public mailing 
> list Mingw-w64-public@lists.sourceforge.net 
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
> 
> 

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iQEcBAEBAgAGBQJQdvY8AAoJEB3HOsWs+KJbaZEH/inB4EYt0sanq/lSyI1NMzXu
p5mXvsHqi0Pqav6iTQPZ95OCFGw/XOXVxYfP1jhRwbDBrq/A1AEkIgEl9xbFeTqH
LzU+ghn1c1OxcYVKaiTTccD1yiVgf3ALM1N4oliOgT8b3gt6vFAcsAtQBl8yaCXh
fYaLtJLalB2a1/peiVbOwgLS89NWGHZqlp71T7909z18RS5g0K4iXBlQJl4Xi9Ky
U+gkSD/LBy4/tWPBrpDcDQoxoujW4gqmw6zWha8Ml73dxqiQCD1ldldCIqSIt5mT
DaTdHJWdT2itI7wBYyBkFSZQYBr8SRN87tVKtlybItySbMgYkAzRVjNQEdCZBKY=
=qsD3
-----END PGP SIGNATURE-----

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to