- FSTUB Patch for Mount Manager Support, Part 1:
[reactos.git] / reactos / hal / hal / hal.c
1 /* $Id$
2 *
3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS kernel
5 * FILE: hal/hal.c
6 * PURPOSE: Hardware Abstraction Layer DLL
7 * PROGRAMMER: Casper S. Hornstrup (chorns@users.sourceforge.net)
8 * REVISION HISTORY:
9 * 01-08-2001 CSH Created
10 */
11
12 /* INCLUDES ******************************************************************/
13
14 #include <ntddk.h>
15 #include <ntdddisk.h>
16 #include <arc/arc.h>
17 #include <ndk/halfuncs.h>
18 #include <ndk/iofuncs.h>
19 #include <ndk/kdfuncs.h>
20 #include <internal/kd.h>
21
22 #define NDEBUG
23 #include <debug.h>
24
25 #undef ExAcquireFastMutex
26 #undef ExReleaseFastMutex
27 #undef ExTryToAcquireFastMutex
28
29 /* DATA **********************************************************************/
30
31 ULONG KdComPortInUse = 0;
32
33 /* FUNCTIONS *****************************************************************/
34
35 NTSTATUS
36 NTAPI
37 DriverEntry(
38 PDRIVER_OBJECT DriverObject,
39 PUNICODE_STRING RegistryPath)
40 {
41 UNIMPLEMENTED;
42
43 return STATUS_SUCCESS;
44 }
45
46
47 VOID
48 FASTCALL
49 ExAcquireFastMutex(
50 PFAST_MUTEX FastMutex)
51 {
52 UNIMPLEMENTED;
53 }
54
55
56 VOID
57 FASTCALL
58 ExReleaseFastMutex(
59 PFAST_MUTEX FastMutex)
60 {
61 UNIMPLEMENTED;
62 }
63
64
65 BOOLEAN FASTCALL
66 ExTryToAcquireFastMutex(
67 PFAST_MUTEX FastMutex)
68 {
69 UNIMPLEMENTED;
70
71 return TRUE;
72 }
73
74
75 VOID
76 NTAPI
77 HalAcquireDisplayOwnership(
78 PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters)
79 {
80 UNIMPLEMENTED;
81 }
82
83
84 NTSTATUS
85 NTAPI
86 HalAdjustResourceList(
87 PCM_RESOURCE_LIST Resources)
88 {
89 UNIMPLEMENTED;
90
91 return STATUS_SUCCESS;
92 }
93
94
95 BOOLEAN
96 NTAPI
97 HalAllProcessorsStarted(VOID)
98 {
99 UNIMPLEMENTED;
100
101 return TRUE;
102 }
103
104
105 NTSTATUS
106 NTAPI
107 HalAllocateAdapterChannel(
108 PADAPTER_OBJECT AdapterObject,
109 PWAIT_CONTEXT_BLOCK WaitContextBlock,
110 ULONG NumberOfMapRegisters,
111 PDRIVER_CONTROL ExecutionRoutine)
112 {
113 UNIMPLEMENTED;
114
115 return STATUS_SUCCESS;
116 }
117
118
119 PVOID
120 NTAPI
121 HalAllocateCommonBuffer(
122 PADAPTER_OBJECT AdapterObject,
123 ULONG Length,
124 PPHYSICAL_ADDRESS LogicalAddress,
125 BOOLEAN CacheEnabled)
126 {
127 UNIMPLEMENTED;
128
129 return NULL;
130 }
131
132
133 PVOID
134 NTAPI
135 HalAllocateCrashDumpRegisters(
136 ULONG Unknown1,
137 ULONG Unknown2)
138 {
139 UNIMPLEMENTED;
140 return NULL;
141 }
142
143
144 NTSTATUS
145 NTAPI
146 HalAssignSlotResources(
147 PUNICODE_STRING RegistryPath,
148 PUNICODE_STRING DriverClassName,
149 PDRIVER_OBJECT DriverObject,
150 PDEVICE_OBJECT DeviceObject,
151 INTERFACE_TYPE BusType,
152 ULONG BusNumber,
153 ULONG SlotNumber,
154 PCM_RESOURCE_LIST *AllocatedResources)
155 {
156 UNIMPLEMENTED;
157
158 return TRUE;
159 }
160
161
162 BOOLEAN
163 NTAPI
164 HalBeginSystemInterrupt (KIRQL Irql,
165 ULONG Vector,
166 PKIRQL OldIrql)
167 {
168 UNIMPLEMENTED;
169
170 return TRUE;
171 }
172
173
174 VOID
175 NTAPI
176 HalCalibratePerformanceCounter(
177 ULONG Count)
178 {
179 UNIMPLEMENTED;
180 }
181
182
183 BOOLEAN
184 NTAPI
185 HalDisableSystemInterrupt(
186 ULONG Vector,
187 KIRQL Irql)
188 {
189 UNIMPLEMENTED;
190
191 return TRUE;
192 }
193
194
195 VOID
196 NTAPI
197 HalDisplayString(
198 PCH String)
199 {
200 UNIMPLEMENTED;
201 }
202
203
204 BOOLEAN
205 NTAPI
206 HalEnableSystemInterrupt(
207 ULONG Vector,
208 KIRQL Irql,
209 KINTERRUPT_MODE InterruptMode)
210 {
211 UNIMPLEMENTED;
212
213 return TRUE;
214 }
215
216
217 VOID
218 NTAPI
219 HalEndSystemInterrupt(
220 KIRQL Irql,
221 ULONG Unknown2)
222 {
223 UNIMPLEMENTED;
224 }
225
226
227 BOOLEAN
228 NTAPI
229 HalFlushCommonBuffer(
230 ULONG Unknown1,
231 ULONG Unknown2,
232 ULONG Unknown3,
233 ULONG Unknown4,
234 ULONG Unknown5)
235 {
236 UNIMPLEMENTED;
237
238 return TRUE;
239 }
240
241
242 VOID
243 NTAPI
244 HalFreeCommonBuffer(
245 PADAPTER_OBJECT AdapterObject,
246 ULONG Length,
247 PHYSICAL_ADDRESS LogicalAddress,
248 PVOID VirtualAddress,
249 BOOLEAN CacheEnabled)
250 {
251 UNIMPLEMENTED;
252 }
253
254
255 PADAPTER_OBJECT
256 NTAPI
257 HalGetAdapter(
258 PDEVICE_DESCRIPTION DeviceDescription,
259 PULONG NumberOfMapRegisters)
260 {
261 UNIMPLEMENTED;
262
263 return (PADAPTER_OBJECT)NULL;
264 }
265
266
267 ULONG
268 NTAPI
269 HalGetBusData(
270 BUS_DATA_TYPE BusDataType,
271 ULONG BusNumber,
272 ULONG SlotNumber,
273 PVOID Buffer,
274 ULONG Length)
275 {
276 UNIMPLEMENTED;
277
278 return 0;
279 }
280
281
282 ULONG
283 NTAPI
284 HalGetBusDataByOffset(
285 BUS_DATA_TYPE BusDataType,
286 ULONG BusNumber,
287 ULONG SlotNumber,
288 PVOID Buffer,
289 ULONG Offset,
290 ULONG Length)
291 {
292 UNIMPLEMENTED;
293
294 return 0;
295 }
296
297
298 BOOLEAN
299 NTAPI
300 HalGetEnvironmentVariable(
301 PCH Name,
302 USHORT ValueLength,
303 PCH Value)
304 {
305 UNIMPLEMENTED;
306
307 return FALSE;
308 }
309
310
311 ULONG
312 NTAPI
313 HalGetInterruptVector(
314 INTERFACE_TYPE InterfaceType,
315 ULONG BusNumber,
316 ULONG BusInterruptLevel,
317 ULONG BusInterruptVector,
318 PKIRQL Irql,
319 PKAFFINITY Affinity)
320 {
321 UNIMPLEMENTED;
322
323 return 0;
324 }
325
326
327 VOID
328 NTAPI
329 HalHandleNMI(
330 PVOID NmiData)
331 {
332 UNIMPLEMENTED;
333 }
334
335
336 BOOLEAN
337 NTAPI
338 HalInitSystem(
339 ULONG BootPhase,
340 PLOADER_PARAMETER_BLOCK LoaderBlock)
341 {
342 UNIMPLEMENTED;
343
344 return TRUE;
345 }
346
347
348 VOID
349 NTAPI
350 HalInitializeProcessor(ULONG ProcessorNumber,
351 PLOADER_PARAMETER_BLOCK LoaderBlock)
352 {
353 UNIMPLEMENTED;
354 }
355
356
357 BOOLEAN
358 NTAPI
359 HalMakeBeep(
360 ULONG Frequency)
361 {
362 UNIMPLEMENTED;
363
364 return TRUE;
365 }
366
367
368 VOID
369 NTAPI
370 HalProcessorIdle(VOID)
371 {
372 UNIMPLEMENTED;
373 }
374
375
376 BOOLEAN
377 NTAPI
378 HalQueryDisplayOwnership(VOID)
379 {
380 UNIMPLEMENTED;
381
382 return FALSE;
383 }
384
385
386 VOID
387 NTAPI
388 HalQueryDisplayParameters(
389 OUT PULONG DispSizeX,
390 OUT PULONG DispSizeY,
391 OUT PULONG CursorPosX,
392 OUT PULONG CursorPosY)
393 {
394 UNIMPLEMENTED;
395 }
396
397
398 BOOLEAN
399 NTAPI
400 HalQueryRealTimeClock(
401 PTIME_FIELDS Time)
402 {
403 UNIMPLEMENTED;
404 return FALSE;
405 }
406
407
408 ULONG
409 NTAPI
410 HalReadDmaCounter(
411 PADAPTER_OBJECT AdapterObject)
412 {
413 UNIMPLEMENTED;
414
415 return 0;
416 }
417
418
419 VOID
420 NTAPI
421 HalReleaseDisplayOwnership(VOID)
422 {
423 UNIMPLEMENTED;
424 }
425
426 VOID
427 NTAPI
428 HalReportResourceUsage(VOID)
429 {
430 UNIMPLEMENTED;
431 }
432
433
434 VOID
435 NTAPI
436 HalRequestIpi(
437 ULONG Unknown)
438 {
439 UNIMPLEMENTED;
440 }
441
442
443 VOID
444 FASTCALL
445 HalRequestSoftwareInterrupt(
446 KIRQL Request)
447 {
448 UNIMPLEMENTED;
449 }
450
451 VOID FASTCALL
452 HalClearSoftwareInterrupt(
453 IN KIRQL Request)
454 {
455 UNIMPLEMENTED;
456 }
457
458
459 VOID
460 NTAPI
461 HalReturnToFirmware(
462 FIRMWARE_REENTRY Action)
463 {
464 UNIMPLEMENTED;
465 }
466
467
468 ULONG
469 NTAPI
470 HalSetBusData(
471 BUS_DATA_TYPE BusDataType,
472 ULONG BusNumber,
473 ULONG SlotNumber,
474 PVOID Buffer,
475 ULONG Length)
476 {
477 UNIMPLEMENTED;
478
479 return 0;
480 }
481
482
483 ULONG
484 NTAPI
485 HalSetBusDataByOffset(
486 BUS_DATA_TYPE BusDataType,
487 ULONG BusNumber,
488 ULONG SlotNumber,
489 PVOID Buffer,
490 ULONG Offset,
491 ULONG Length)
492 {
493 UNIMPLEMENTED;
494
495 return 0;
496 }
497
498
499 VOID
500 NTAPI
501 HalSetDisplayParameters(
502 ULONG CursorPosX,
503 ULONG CursorPosY)
504 {
505 UNIMPLEMENTED;
506 }
507
508
509 BOOLEAN
510 NTAPI
511 HalSetEnvironmentVariable(
512 PCH Name,
513 PCH Value)
514 {
515 UNIMPLEMENTED;
516
517 return TRUE;
518 }
519
520
521 VOID
522 NTAPI
523 HalSetRealTimeClock(
524 PTIME_FIELDS Time)
525 {
526 UNIMPLEMENTED;
527 }
528
529
530 BOOLEAN
531 NTAPI
532 HalStartNextProcessor(
533 ULONG Unknown1,
534 ULONG Unknown2)
535 {
536 UNIMPLEMENTED;
537
538 return TRUE;
539 }
540
541
542 ULONG
543 FASTCALL
544 HalSystemVectorDispatchEntry(
545 ULONG Unknown1,
546 ULONG Unknown2,
547 ULONG Unknown3)
548 {
549 UNIMPLEMENTED;
550
551 return 0;
552 }
553
554
555 BOOLEAN
556 NTAPI
557 HalTranslateBusAddress(
558 INTERFACE_TYPE InterfaceType,
559 ULONG BusNumber,
560 PHYSICAL_ADDRESS BusAddress,
561 PULONG AddressSpace,
562 PPHYSICAL_ADDRESS TranslatedAddress)
563 {
564 UNIMPLEMENTED;
565
566 return TRUE;
567 }
568
569
570 VOID
571 NTAPI
572 HalpAssignDriveLetters(IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
573 IN PSTRING NtDeviceName,
574 OUT PUCHAR NtSystemPath,
575 OUT PSTRING NtSystemPathString)
576 {
577 /* Call the kernel */
578 return IoAssignDriveLetters(LoaderBlock,
579 NtDeviceName,
580 NtSystemPath,
581 NtSystemPathString);
582 }
583
584 NTSTATUS
585 NTAPI
586 HalpReadPartitionTable(IN PDEVICE_OBJECT DeviceObject,
587 IN ULONG SectorSize,
588 IN BOOLEAN ReturnRecognizedPartitions,
589 IN OUT PDRIVE_LAYOUT_INFORMATION *PartitionBuffer)
590 {
591 /* Call the kernel */
592 return IoReadPartitionTable(DeviceObject,
593 SectorSize,
594 ReturnRecognizedPartitions,
595 PartitionBuffer);
596 }
597
598 NTSTATUS
599 NTAPI
600 HalpWritePartitionTable(IN PDEVICE_OBJECT DeviceObject,
601 IN ULONG SectorSize,
602 IN ULONG SectorsPerTrack,
603 IN ULONG NumberOfHeads,
604 IN PDRIVE_LAYOUT_INFORMATION PartitionBuffer)
605 {
606 /* Call the kernel */
607 return IoWritePartitionTable(DeviceObject,
608 SectorSize,
609 SectorsPerTrack,
610 NumberOfHeads,
611 PartitionBuffer);
612 }
613
614 NTSTATUS
615 NTAPI
616 HalpSetPartitionInformation(IN PDEVICE_OBJECT DeviceObject,
617 IN ULONG SectorSize,
618 IN ULONG PartitionNumber,
619 IN ULONG PartitionType)
620 {
621 /* Call the kernel */
622 return IoSetPartitionInformation(DeviceObject,
623 SectorSize,
624 PartitionNumber,
625 PartitionType);
626 }
627
628
629 BOOLEAN
630 NTAPI
631 IoFlushAdapterBuffers(
632 PADAPTER_OBJECT AdapterObject,
633 PMDL Mdl,
634 PVOID MapRegisterBase,
635 PVOID CurrentVa,
636 ULONG Length,
637 BOOLEAN WriteToDevice)
638 {
639 UNIMPLEMENTED;
640
641 return TRUE;
642 }
643
644
645 VOID
646 NTAPI
647 IoFreeAdapterChannel(
648 PADAPTER_OBJECT AdapterObject)
649 {
650 UNIMPLEMENTED;
651 }
652
653
654 VOID
655 NTAPI
656 IoFreeMapRegisters(
657 PADAPTER_OBJECT AdapterObject,
658 PVOID MapRegisterBase,
659 ULONG NumberOfMapRegisters)
660 {
661 UNIMPLEMENTED;
662 }
663
664
665 PHYSICAL_ADDRESS
666 NTAPI
667 IoMapTransfer(
668 PADAPTER_OBJECT AdapterObject,
669 PMDL Mdl,
670 PVOID MapRegisterBase,
671 PVOID CurrentVa,
672 PULONG Length,
673 BOOLEAN WriteToDevice)
674 {
675 PHYSICAL_ADDRESS Address;
676
677 UNIMPLEMENTED;
678
679 Address.QuadPart = 0;
680
681 return Address;
682 }
683
684
685 BOOLEAN
686 NTAPI
687 KdPortGetByte(
688 PUCHAR ByteRecieved)
689 {
690 UNIMPLEMENTED;
691
692 return TRUE;
693 }
694
695
696 BOOLEAN
697 NTAPI
698 KdPortGetByteEx(
699 PKD_PORT_INFORMATION PortInformation,
700 PUCHAR ByteRecieved)
701 {
702 UNIMPLEMENTED;
703
704 return TRUE;
705 }
706
707
708 BOOLEAN
709 NTAPI
710 KdPortInitialize(
711 PKD_PORT_INFORMATION PortInformation,
712 ULONG Unknown1,
713 ULONG Unknown2)
714 {
715 UNIMPLEMENTED;
716
717 return TRUE;
718 }
719
720
721 BOOLEAN
722 NTAPI
723 KdPortInitializeEx(
724 PKD_PORT_INFORMATION PortInformation,
725 ULONG Unknown1,
726 ULONG Unknown2)
727 {
728 UNIMPLEMENTED;
729
730 return TRUE;
731 }
732
733
734 BOOLEAN
735 NTAPI
736 KdPortPollByte(
737 PUCHAR ByteRecieved)
738 {
739 UNIMPLEMENTED;
740
741 return TRUE;
742 }
743
744
745 BOOLEAN
746 NTAPI
747 KdPortPollByteEx(
748 PKD_PORT_INFORMATION PortInformation,
749 PUCHAR ByteRecieved)
750 {
751 UNIMPLEMENTED;
752
753 return TRUE;
754 }
755
756
757 VOID
758 NTAPI
759 KdPortPutByte(
760 UCHAR ByteToSend)
761 {
762 UNIMPLEMENTED;
763 }
764
765
766 VOID
767 NTAPI
768 KdPortPutByteEx(
769 PKD_PORT_INFORMATION PortInformation,
770 UCHAR ByteToSend)
771 {
772 UNIMPLEMENTED;
773 }
774
775
776 VOID
777 NTAPI
778 KdPortRestore(VOID)
779 {
780 UNIMPLEMENTED;
781 }
782
783
784 VOID
785 NTAPI
786 KdPortSave(VOID)
787 {
788 UNIMPLEMENTED;
789 }
790
791
792 BOOLEAN
793 NTAPI
794 KdPortDisableInterrupts()
795 {
796 UNIMPLEMENTED;
797
798 return FALSE;
799 }
800
801
802 BOOLEAN
803 NTAPI
804 KdPortEnableInterrupts()
805 {
806 UNIMPLEMENTED;
807
808 return FALSE;
809 }
810
811 #undef KeAcquireSpinLock
812 VOID
813 NTAPI
814 KeAcquireSpinLock(
815 PKSPIN_LOCK SpinLock,
816 PKIRQL OldIrql)
817 {
818 UNIMPLEMENTED;
819 }
820
821
822 KIRQL
823 FASTCALL
824 KeAcquireSpinLockRaiseToSynch(
825 PKSPIN_LOCK SpinLock)
826 {
827 UNIMPLEMENTED;
828
829 return 0;
830 }
831
832
833 VOID
834 FASTCALL
835 KeAcquireInStackQueuedSpinLock(
836 IN PKSPIN_LOCK SpinLock,
837 IN PKLOCK_QUEUE_HANDLE LockHandle
838 )
839 {
840 UNIMPLEMENTED;
841 }
842
843 VOID
844 FASTCALL
845 KeAcquireInStackQueuedSpinLockRaiseToSynch(
846 IN PKSPIN_LOCK SpinLock,
847 IN PKLOCK_QUEUE_HANDLE LockHandle
848 )
849 {
850 UNIMPLEMENTED;
851 }
852
853 VOID
854 FASTCALL
855 KeReleaseInStackQueuedSpinLock(
856 IN PKLOCK_QUEUE_HANDLE LockHandle
857 )
858 {
859 UNIMPLEMENTED;
860 }
861
862 VOID
863 NTAPI
864 KeFlushWriteBuffer(VOID)
865 {
866 UNIMPLEMENTED;
867 }
868
869 #undef KeGetCurrentIrql
870 KIRQL
871 NTAPI
872 KeGetCurrentIrql(VOID)
873 {
874 UNIMPLEMENTED;
875
876 return (KIRQL)0;
877 }
878
879 #undef KeLowerIrql
880 VOID
881 NTAPI
882 KeLowerIrql(
883 KIRQL NewIrql)
884 {
885 UNIMPLEMENTED;
886 }
887
888
889 LARGE_INTEGER
890 NTAPI
891 KeQueryPerformanceCounter(
892 PLARGE_INTEGER PerformanceFreq)
893 {
894 LARGE_INTEGER Value;
895
896 UNIMPLEMENTED;
897
898 Value.QuadPart = 0;
899
900 return Value;
901 }
902
903 #undef KeRaiseIrql
904 VOID
905 NTAPI
906 KeRaiseIrql(
907 KIRQL NewIrql,
908 PKIRQL OldIrql)
909 {
910 UNIMPLEMENTED;
911 }
912
913
914 KIRQL
915 NTAPI
916 KeRaiseIrqlToDpcLevel(VOID)
917 {
918 UNIMPLEMENTED;
919
920 return (KIRQL)0;
921 }
922
923
924 KIRQL
925 NTAPI
926 KeRaiseIrqlToSynchLevel(VOID)
927 {
928 UNIMPLEMENTED;
929
930 return (KIRQL)0;
931 }
932
933 #undef KeReleaseSpinLock
934 VOID
935 NTAPI
936 KeReleaseSpinLock(
937 PKSPIN_LOCK SpinLock,
938 KIRQL NewIrql)
939 {
940 UNIMPLEMENTED;
941 }
942
943
944 VOID
945 NTAPI
946 KeStallExecutionProcessor(
947 ULONG Microseconds)
948 {
949 UNIMPLEMENTED;
950 }
951
952
953 KIRQL
954 FASTCALL
955 KfAcquireSpinLock(
956 PKSPIN_LOCK SpinLock)
957 {
958 UNIMPLEMENTED;
959
960 return (KIRQL)0;
961 }
962
963
964 VOID
965 FASTCALL
966 KfLowerIrql(
967 KIRQL NewIrql)
968 {
969 UNIMPLEMENTED;
970 }
971
972
973 KIRQL
974 FASTCALL
975 KfRaiseIrql(
976 KIRQL NewIrql)
977 {
978 UNIMPLEMENTED;
979
980 return (KIRQL)0;
981 }
982
983
984 VOID
985 FASTCALL
986 KfReleaseSpinLock(
987 PKSPIN_LOCK SpinLock,
988 KIRQL NewIrql)
989 {
990 UNIMPLEMENTED;
991 }
992
993
994 VOID
995 NTAPI
996 READ_PORT_BUFFER_UCHAR(
997 PUCHAR Port,
998 PUCHAR Buffer,
999 ULONG Count)
1000 {
1001 UNIMPLEMENTED;
1002 }
1003
1004
1005 VOID
1006 NTAPI
1007 READ_PORT_BUFFER_ULONG(
1008 PULONG Port,
1009 PULONG Buffer,
1010 ULONG Count)
1011 {
1012 UNIMPLEMENTED;
1013 }
1014
1015
1016 VOID
1017 NTAPI
1018 READ_PORT_BUFFER_USHORT(
1019 PUSHORT Port,
1020 PUSHORT Buffer,
1021 ULONG Count)
1022 {
1023 UNIMPLEMENTED;
1024 }
1025
1026
1027 UCHAR
1028 NTAPI
1029 READ_PORT_UCHAR(
1030 PUCHAR Port)
1031 {
1032 UNIMPLEMENTED;
1033
1034 return 0;
1035 }
1036
1037
1038 ULONG
1039 NTAPI
1040 READ_PORT_ULONG(
1041 PULONG Port)
1042 {
1043 UNIMPLEMENTED;
1044
1045 return 0;
1046 }
1047
1048
1049 USHORT
1050 NTAPI
1051 READ_PORT_USHORT(
1052 PUSHORT Port)
1053 {
1054 UNIMPLEMENTED;
1055
1056 return 0;
1057 }
1058
1059
1060 VOID
1061 NTAPI
1062 WRITE_PORT_BUFFER_UCHAR(
1063 PUCHAR Port,
1064 PUCHAR Buffer,
1065 ULONG Count)
1066 {
1067 UNIMPLEMENTED;
1068 }
1069
1070
1071 VOID
1072 NTAPI
1073 WRITE_PORT_BUFFER_USHORT(
1074 PUSHORT Port,
1075 PUSHORT Buffer,
1076 ULONG Count)
1077 {
1078 UNIMPLEMENTED;
1079 }
1080
1081
1082 VOID
1083 NTAPI
1084 WRITE_PORT_BUFFER_ULONG(
1085 PULONG Port,
1086 PULONG Buffer,
1087 ULONG Count)
1088 {
1089 UNIMPLEMENTED;
1090 }
1091
1092
1093 VOID
1094 NTAPI
1095 WRITE_PORT_UCHAR(
1096 PUCHAR Port,
1097 UCHAR Value)
1098 {
1099 UNIMPLEMENTED;
1100 }
1101
1102 VOID
1103 NTAPI
1104 WRITE_PORT_ULONG(
1105 PULONG Port,
1106 ULONG Value)
1107 {
1108 UNIMPLEMENTED;
1109 }
1110
1111 VOID
1112 NTAPI
1113 WRITE_PORT_USHORT(
1114 PUSHORT Port,
1115 USHORT Value)
1116 {
1117 UNIMPLEMENTED;
1118 }
1119
1120 KIRQL
1121 FASTCALL
1122 KeAcquireQueuedSpinLock(IN PKLOCK_QUEUE_HANDLE LockHandle)
1123 {
1124 UNIMPLEMENTED;
1125 return (KIRQL)0;
1126 }
1127
1128 VOID
1129 FASTCALL
1130 KeReleaseQueuedSpinLock(IN PKLOCK_QUEUE_HANDLE LockHandle,
1131 IN KIRQL OldIrql)
1132 {
1133 UNIMPLEMENTED;
1134 }
1135
1136 /* EOF */