Reactos
at master 77 lines 2.4 kB view raw
1/* 2 * PROJECT: ReactOS HAL 3 * LICENSE: GPL - See COPYING in the top level directory 4 * FILE: hal/halx86/generic/drive.c 5 * PURPOSE: I/O HAL Routines for Disk Access 6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org) 7 */ 8 9/* INCLUDES ******************************************************************/ 10 11#include <hal.h> 12 13#include <ntdddisk.h> 14 15#define NDEBUG 16#include <debug.h> 17 18/* FUNCTIONS *****************************************************************/ 19 20VOID 21NTAPI 22HalpAssignDriveLetters(IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock, 23 IN PSTRING NtDeviceName, 24 OUT PUCHAR NtSystemPath, 25 OUT PSTRING NtSystemPathString) 26{ 27 /* Call the kernel */ 28 IoAssignDriveLetters(LoaderBlock, 29 NtDeviceName, 30 NtSystemPath, 31 NtSystemPathString); 32} 33 34NTSTATUS 35NTAPI 36HalpReadPartitionTable(IN PDEVICE_OBJECT DeviceObject, 37 IN ULONG SectorSize, 38 IN BOOLEAN ReturnRecognizedPartitions, 39 IN OUT PDRIVE_LAYOUT_INFORMATION *PartitionBuffer) 40{ 41 /* Call the kernel */ 42 return IoReadPartitionTable(DeviceObject, 43 SectorSize, 44 ReturnRecognizedPartitions, 45 PartitionBuffer); 46} 47 48NTSTATUS 49NTAPI 50HalpWritePartitionTable(IN PDEVICE_OBJECT DeviceObject, 51 IN ULONG SectorSize, 52 IN ULONG SectorsPerTrack, 53 IN ULONG NumberOfHeads, 54 IN PDRIVE_LAYOUT_INFORMATION PartitionBuffer) 55{ 56 /* Call the kernel */ 57 return IoWritePartitionTable(DeviceObject, 58 SectorSize, 59 SectorsPerTrack, 60 NumberOfHeads, 61 PartitionBuffer); 62} 63 64NTSTATUS 65NTAPI 66HalpSetPartitionInformation(IN PDEVICE_OBJECT DeviceObject, 67 IN ULONG SectorSize, 68 IN ULONG PartitionNumber, 69 IN ULONG PartitionType) 70{ 71 /* Call the kernel */ 72 return IoSetPartitionInformation(DeviceObject, 73 SectorSize, 74 PartitionNumber, 75 PartitionType); 76} 77/* EOF */