f3b805ba0929d379afdd0230da812782f677d8a7
[reactos.git] / reactos / ntoskrnl / io / resource.c
1 /*
2 * ReactOS kernel
3 * Copyright (C) 1998, 1999, 2000, 2001 ReactOS Team
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19 /* $Id: resource.c,v 1.5 2001/04/04 22:21:31 dwelch Exp $
20 *
21 * PROJECT: ReactOS kernel
22 * FILE: ntoskrnl/io/resource.c
23 * PURPOSE: Hardware resource managment
24 * PROGRAMMER: David Welch (welch@mcmail.com)
25 * UPDATE HISTORY:
26 * Created 22/05/98
27 */
28
29 /* INCLUDES *****************************************************************/
30
31 #include <ddk/ntddk.h>
32
33
34 #include <internal/debug.h>
35
36 /* GLOBALS *******************************************************************/
37
38 static CONFIGURATION_INFORMATION SystemConfigurationInformation =
39 {0, 0, 0, 0, 0, 0, 0, FALSE, FALSE};
40
41 /* FUNCTIONS *****************************************************************/
42
43 PCONFIGURATION_INFORMATION STDCALL
44 IoGetConfigurationInformation(VOID)
45 {
46 return(&SystemConfigurationInformation);
47 }
48
49 NTSTATUS STDCALL
50 IoReportResourceUsage(PUNICODE_STRING DriverClassName,
51 PDRIVER_OBJECT DriverObject,
52 PCM_RESOURCE_LIST DriverList,
53 ULONG DriverListSize,
54 PDEVICE_OBJECT DeviceObject,
55 PCM_RESOURCE_LIST DeviceList,
56 ULONG DeviceListSize,
57 BOOLEAN OverrideConflict,
58 PBOOLEAN ConflictDetected)
59 /*
60 * FUNCTION: Reports hardware resources in the
61 * \Registry\Machine\Hardware\ResourceMap tree, so that a subsequently
62 * loaded driver cannot attempt to use the same resources.
63 * ARGUMENTS:
64 * DriverClassName - The class of driver under which the resource
65 * information should be stored.
66 * DriverObject - The driver object that was input to the
67 * DriverEntry.
68 * DriverList - Resources that claimed for the driver rather than
69 * per-device.
70 * DriverListSize - Size in bytes of the DriverList.
71 * DeviceObject - The device object for which resources should be
72 * claimed.
73 * DeviceList - List of resources which should be claimed for the
74 * device.
75 * DeviceListSize - Size of the per-device resource list in bytes.
76 * OverrideConflict - True if the resources should be cliamed
77 * even if a conflict is found.
78 * ConflictDetected - Points to a variable that receives TRUE if
79 * a conflict is detected with another driver.
80 */
81 {
82 UNIMPLEMENTED;
83 }
84
85 NTSTATUS STDCALL
86 IoAssignResources(PUNICODE_STRING RegistryPath,
87 PUNICODE_STRING DriverClassName,
88 PDRIVER_OBJECT DriverObject,
89 PDEVICE_OBJECT DeviceObject,
90 PIO_RESOURCE_REQUIREMENTS_LIST RequestedResources,
91 PCM_RESOURCE_LIST* AllocatedResources)
92 {
93 UNIMPLEMENTED;
94 }
95
96 NTSTATUS STDCALL
97 IoQueryDeviceDescription(PINTERFACE_TYPE BusType,
98 PULONG BusNumber,
99 PCONFIGURATION_TYPE ControllerType,
100 PULONG ControllerNumber,
101 PCONFIGURATION_TYPE PeripheralType,
102 PULONG PeripheralNumber,
103 PIO_QUERY_DEVICE_ROUTINE CalloutRoutine,
104 PVOID Context)
105 {
106 UNIMPLEMENTED;
107 }
108
109 NTSTATUS STDCALL
110 IoReportHalResourceUsage (PUNICODE_STRING HalDescription,
111 ULONG Unknown1,
112 ULONG Unknown2,
113 ULONG Unknown3)
114 {
115 UNIMPLEMENTED;
116 }
117
118 /* EOF */