ReactOS  0.4.15-dev-5499-g1341c38
drive.c
Go to the documentation of this file.
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 
20 VOID
21 NTAPI
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 
35 NTAPI
40 {
41  /* Call the kernel */
43  SectorSize,
46 }
47 
49 NTAPI
55 {
56  /* Call the kernel */
58  SectorSize,
62 }
63 
65 NTAPI
70 {
71  /* Call the kernel */
73  SectorSize,
76 }
77 /* EOF */
#define IN
Definition: typedefs.h:39
VOID FASTCALL IoAssignDriveLetters(IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock, IN PSTRING NtDeviceName, OUT PUCHAR NtSystemPath, OUT PSTRING NtSystemPathString)
Definition: ntoskrnl.c:36
unsigned char * PUCHAR
Definition: retypes.h:3
NTSTATUS FASTCALL IoReadPartitionTable(IN PDEVICE_OBJECT DeviceObject, IN ULONG SectorSize, IN BOOLEAN ReturnRecognizedPartitions, OUT PDRIVE_LAYOUT_INFORMATION *PartitionBuffer)
Definition: partition.c:495
VOID NTAPI HalpAssignDriveLetters(IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock, IN PSTRING NtDeviceName, OUT PUCHAR NtSystemPath, OUT PSTRING NtSystemPathString)
Definition: drive.c:19
LONG NTSTATUS
Definition: precomp.h:26
_In_ ULONG _In_ ULONG _In_ ULONG NumberOfHeads
Definition: iofuncs.h:2070
_In_ ULONG _In_ ULONG PartitionNumber
Definition: iofuncs.h:2060
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
_In_ ULONG _In_ ULONG SectorsPerTrack
Definition: iofuncs.h:2070
_In_ ULONG _In_ BOOLEAN _Out_ struct _DRIVE_LAYOUT_INFORMATION ** PartitionBuffer
Definition: iofuncs.h:2052
unsigned char BOOLEAN
NTSTATUS NTAPI HalpWritePartitionTable(IN PDEVICE_OBJECT DeviceObject, IN ULONG SectorSize, IN ULONG SectorsPerTrack, IN ULONG NumberOfHeads, IN PDRIVE_LAYOUT_INFORMATION PartitionBuffer)
Definition: drive.c:47
_In_ ULONG _In_ BOOLEAN ReturnRecognizedPartitions
Definition: iofuncs.h:2050
NTSTATUS NTAPI HalpReadPartitionTable(IN PDEVICE_OBJECT DeviceObject, IN ULONG SectorSize, IN BOOLEAN ReturnRecognizedPartitions, IN OUT PDRIVE_LAYOUT_INFORMATION *PartitionBuffer)
Definition: drive.c:33
NTSTATUS NTAPI HalpSetPartitionInformation(IN PDEVICE_OBJECT DeviceObject, IN ULONG SectorSize, IN ULONG PartitionNumber, IN ULONG PartitionType)
Definition: drive.c:63
#define OUT
Definition: typedefs.h:40
NTSTATUS FASTCALL IoSetPartitionInformation(IN PDEVICE_OBJECT DeviceObject, IN ULONG SectorSize, IN ULONG PartitionNumber, IN ULONG PartitionType)
Definition: ntoskrnl.c:46
CHAR PartitionType
Definition: part_xbox.c:32
unsigned int ULONG
Definition: retypes.h:1
NTSTATUS FASTCALL IoWritePartitionTable(IN PDEVICE_OBJECT DeviceObject, IN ULONG SectorSize, IN ULONG SectorsPerTrack, IN ULONG NumberOfHeads, IN PDRIVE_LAYOUT_INFORMATION PartitionBuffer)
Definition: ntoskrnl.c:69
_In_ ULONG SectorSize
Definition: halfuncs.h:291