mirror of
				https://github.com/pbatard/rufus.git
				synced 2024-08-14 23:57:05 +00:00 
			
		
		
		
	[mingw] fixed MinGW32 compilation
This commit is contained in:
		
							parent
							
								
									4dfb38430f
								
							
						
					
					
						commit
						3d1131faaf
					
				
					 3 changed files with 29 additions and 7 deletions
				
			
		
							
								
								
									
										2
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
										
									
									
									
								
							|  | @ -3,7 +3,7 @@ TARGETNAME=rufus | |||
| CC     = gcc | ||||
| RC     = windres | ||||
| STRIP  = strip | ||||
| CFLAGS = -std=gnu99 -Wall -Wundef -Wunused -Wstrict-prototypes -Werror-implicit-function-declaration -Wno-pointer-sign -Wshadow -O2 -Wl,--subsystem,windows | ||||
| CFLAGS = -std=gnu99 -Wall -Wundef -Wunused -Wstrict-prototypes -Werror-implicit-function-declaration -Wno-pointer-sign -Wshadow -O2 -Wl,--subsystem,windows -DWINVER=0x501 -D_WIN32_IE=0x501 | ||||
| LIBS   = -lsetupapi -lole32 | ||||
| 
 | ||||
| .PHONY: all clean | ||||
|  |  | |||
							
								
								
									
										12
									
								
								rufus.c
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								rufus.c
									
										
									
									
									
								
							|  | @ -24,11 +24,11 @@ | |||
| #include <stdlib.h> | ||||
| #include <stdio.h> | ||||
| #include <string.h> | ||||
| #include <ctype.h> | ||||
| #include <commctrl.h> | ||||
| #include <setupapi.h> | ||||
| #include <winioctl.h> | ||||
| // TODO: MinGW32 requires <ddk/ntddscsi.h>
 | ||||
| #include <ntddscsi.h> | ||||
| 
 | ||||
| // http://doc.sch130.nsc.ru/www.sysinternals.com/ntw2k/source/fmifs.shtml
 | ||||
| // http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/libs/fmifs/
 | ||||
| //#include <fmifs.h>
 | ||||
|  | @ -110,7 +110,7 @@ static BOOL GetDriveHandle(DWORD num, HANDLE* hDrive, char* DriveLetter) | |||
| { | ||||
| 	BOOL r; | ||||
| 	DWORD size; | ||||
| 	STORAGE_DEVICE_NUMBER sdn = {0}; | ||||
| 	STORAGE_DEVICE_NUMBER_REDEF device_number = {0}; | ||||
| 	static char drives[26*4];	/* "D:\", "E:\", etc. */ | ||||
| 	char *drive = drives; | ||||
| 	char drive_name[] = "\\\\.\\#:"; | ||||
|  | @ -138,13 +138,13 @@ static BOOL GetDriveHandle(DWORD num, HANDLE* hDrive, char* DriveLetter) | |||
| 		} | ||||
| 	 | ||||
| 		r = DeviceIoControl(*hDrive, IOCTL_STORAGE_GET_DEVICE_NUMBER, NULL, | ||||
| 			0, &sdn, sizeof(sdn), &size, NULL); | ||||
| 			0, &device_number, sizeof(device_number), &size, NULL); | ||||
| 		if ((!r) || (size <= 0)) { | ||||
| 			uprintf("IOCTL_STORAGE_GET_DEVICE_NUMBER failed: %s\n", WindowsErrorString(0)); | ||||
| 			safe_closehandle(*hDrive); | ||||
| 			break; | ||||
| 		} | ||||
| 		if (sdn.DeviceNumber == num) | ||||
| 		if (device_number.DeviceNumber == num) | ||||
| 			break; | ||||
| 	} | ||||
| 
 | ||||
|  | @ -260,7 +260,7 @@ static BOOL GetUSBDevices(void) | |||
| 	SP_DEVINFO_DATA dev_info_data; | ||||
| 	SP_DEVICE_INTERFACE_DATA devint_data; | ||||
| 	PSP_DEVICE_INTERFACE_DETAIL_DATA_A devint_detail_data; | ||||
| 	STORAGE_DEVICE_NUMBER device_number; | ||||
| 	STORAGE_DEVICE_NUMBER_REDEF device_number; | ||||
| 	DWORD size, i, j, datatype; | ||||
| 	HANDLE hDrive; | ||||
| 	char drive_letter; | ||||
|  |  | |||
							
								
								
									
										22
									
								
								rufus.h
									
										
									
									
									
								
							
							
						
						
									
										22
									
								
								rufus.h
									
										
									
									
									
								
							|  | @ -52,6 +52,28 @@ | |||
| const GUID GUID_DEVINTERFACE_DISK = { 0x53f56307L, 0xb6bf, 0x11d0, {0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b} }; | ||||
| #endif | ||||
| 
 | ||||
| typedef struct { | ||||
| 	DWORD DeviceType; | ||||
| 	ULONG DeviceNumber; | ||||
| 	ULONG PartitionNumber; | ||||
| } STORAGE_DEVICE_NUMBER_REDEF; | ||||
| 
 | ||||
| typedef struct _SCSI_PASS_THROUGH { | ||||
| 	USHORT Length; | ||||
| 	UCHAR ScsiStatus; | ||||
| 	UCHAR PathId; | ||||
| 	UCHAR TargetId; | ||||
| 	UCHAR Lun; | ||||
| 	UCHAR CdbLength; | ||||
| 	UCHAR SenseInfoLength; | ||||
| 	UCHAR DataIn; | ||||
| 	ULONG DataTransferLength; | ||||
| 	ULONG TimeOutValue; | ||||
| 	ULONG_PTR DataBufferOffset; | ||||
| 	ULONG SenseInfoOffset; | ||||
| 	UCHAR Cdb[16]; | ||||
| } SCSI_PASS_THROUGH,*PSCSI_PASS_THROUGH; | ||||
| 
 | ||||
| typedef struct _SCSI_PASS_THROUGH_WITH_BUFFERS { | ||||
| 	SCSI_PASS_THROUGH Spt; | ||||
| 	ULONG             Filler; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue