]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - EdkModulePkg/Bus/Pci/IdeBus/Dxe/ide.h
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@911 6f19259b...
[mirror_edk2.git] / EdkModulePkg / Bus / Pci / IdeBus / Dxe / ide.h
... / ...
CommitLineData
1/** @file\r
2 Header file for IDE Bus Driver, containing the helper functions' \r
3 entire prototype.\r
4\r
5 Copyright (c) 2006, Intel Corporation \r
6 All rights reserved. This program and the accompanying materials \r
7 are licensed and made available under the terms and conditions of the BSD License \r
8 which accompanies this distribution. The full text of the license may be found at \r
9 http://opensource.org/licenses/bsd-license.php \r
10\r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
13\r
14 @par Revision Reference:\r
15 2002-6: Add Atapi6 enhancement, support >120GB hard disk, including\r
16 Add - IDEBlkIoReadBlocksExt() func definition\r
17 Add - IDEBlkIoWriteBlocksExt() func definition\r
18\r
19**/\r
20\r
21#ifndef _IDE_H\r
22#define _IDE_H\r
23\r
24//\r
25// Helper functions Prototype\r
26//\r
27/**\r
28 TODO: Add function description\r
29\r
30 @param This TODO: add argument description\r
31 @param Controller TODO: add argument description\r
32 @param Handle TODO: add argument description\r
33\r
34 TODO: add return values\r
35\r
36**/\r
37EFI_STATUS\r
38DeRegisterIdeDevice (\r
39 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
40 IN EFI_HANDLE Controller,\r
41 IN EFI_HANDLE Handle\r
42 )\r
43;\r
44\r
45/**\r
46 TODO: Add function description\r
47\r
48 @param Controller TODO: add argument description\r
49 @param PciIo TODO: add argument description\r
50 @param ParentDevicePath TODO: add argument description\r
51 @param RemainingDevicePath TODO: add argument description\r
52\r
53 TODO: add return values\r
54\r
55**/\r
56EFI_STATUS\r
57EnableIdeDevice (\r
58 IN EFI_HANDLE Controller,\r
59 IN EFI_PCI_IO_PROTOCOL *PciIo,\r
60 IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath,\r
61 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
62 )\r
63;\r
64\r
65/**\r
66 TODO: Add function description\r
67\r
68 @param PciIo TODO: add argument description\r
69 @param Port TODO: add argument description\r
70\r
71 TODO: add return values\r
72\r
73**/\r
74UINT8\r
75IDEReadPortB (\r
76 IN EFI_PCI_IO_PROTOCOL *PciIo,\r
77 IN UINT16 Port\r
78 )\r
79;\r
80\r
81/**\r
82 TODO: Add function description\r
83\r
84 @param PciIo TODO: add argument description\r
85 @param Port TODO: add argument description\r
86 @param Count TODO: add argument description\r
87 @param Buffer TODO: add argument description\r
88\r
89 TODO: add return values\r
90\r
91**/\r
92VOID\r
93IDEReadPortWMultiple (\r
94 IN EFI_PCI_IO_PROTOCOL *PciIo,\r
95 IN UINT16 Port,\r
96 IN UINTN Count,\r
97 OUT VOID *Buffer\r
98 )\r
99;\r
100\r
101/**\r
102 TODO: Add function description\r
103\r
104 @param PciIo TODO: add argument description\r
105 @param Port TODO: add argument description\r
106 @param Data TODO: add argument description\r
107\r
108 TODO: add return values\r
109\r
110**/\r
111VOID\r
112IDEWritePortB (\r
113 IN EFI_PCI_IO_PROTOCOL *PciIo,\r
114 IN UINT16 Port,\r
115 IN UINT8 Data\r
116 )\r
117;\r
118\r
119/**\r
120 TODO: Add function description\r
121\r
122 @param PciIo TODO: add argument description\r
123 @param Port TODO: add argument description\r
124 @param Data TODO: add argument description\r
125\r
126 TODO: add return values\r
127\r
128**/\r
129VOID\r
130IDEWritePortW (\r
131 IN EFI_PCI_IO_PROTOCOL *PciIo,\r
132 IN UINT16 Port,\r
133 IN UINT16 Data\r
134 )\r
135;\r
136\r
137/**\r
138 TODO: Add function description\r
139\r
140 @param PciIo TODO: add argument description\r
141 @param Port TODO: add argument description\r
142 @param Count TODO: add argument description\r
143 @param Buffer TODO: add argument description\r
144\r
145 TODO: add return values\r
146\r
147**/\r
148VOID\r
149IDEWritePortWMultiple (\r
150 IN EFI_PCI_IO_PROTOCOL *PciIo,\r
151 IN UINT16 Port,\r
152 IN UINTN Count,\r
153 IN VOID *Buffer\r
154 )\r
155;\r
156\r
157/**\r
158 TODO: Add function description\r
159\r
160 @param PciIo TODO: add argument description\r
161 @param IdeRegsBaseAddr TODO: add argument description\r
162\r
163 TODO: add return values\r
164\r
165**/\r
166EFI_STATUS\r
167GetIdeRegistersBaseAddr (\r
168 IN EFI_PCI_IO_PROTOCOL *PciIo,\r
169 OUT IDE_REGISTERS_BASE_ADDR *IdeRegsBaseAddr\r
170 )\r
171;\r
172\r
173/**\r
174 TODO: Add function description\r
175\r
176 @param IdeDev TODO: add argument description\r
177\r
178 TODO: add return values\r
179\r
180**/\r
181EFI_STATUS\r
182ReassignIdeResources (\r
183 IN IDE_BLK_IO_DEV *IdeDev\r
184 )\r
185;\r
186\r
187/**\r
188 TODO: Add function description\r
189\r
190 @param IdeDev TODO: add argument description\r
191\r
192 TODO: add return values\r
193\r
194**/\r
195EFI_STATUS\r
196DiscoverIdeDevice (\r
197 IN IDE_BLK_IO_DEV *IdeDev\r
198 )\r
199;\r
200\r
201/**\r
202 TODO: Add function description\r
203\r
204 @param IdeDev TODO: add argument description\r
205\r
206 TODO: add return values\r
207\r
208**/\r
209EFI_STATUS\r
210DetectIDEController (\r
211 IN IDE_BLK_IO_DEV *IdeDev\r
212 )\r
213;\r
214\r
215/**\r
216 TODO: Add function description\r
217\r
218 @param IdeDev TODO: add argument description\r
219 @param TimeoutInMilliSeconds TODO: add argument description\r
220\r
221 TODO: add return values\r
222\r
223**/\r
224EFI_STATUS\r
225DRQClear (\r
226 IN IDE_BLK_IO_DEV *IdeDev,\r
227 IN UINTN TimeoutInMilliSeconds\r
228 )\r
229;\r
230\r
231/**\r
232 TODO: Add function description\r
233\r
234 @param IdeDev TODO: add argument description\r
235 @param TimeoutInMilliSeconds TODO: add argument description\r
236\r
237 TODO: add return values\r
238\r
239**/\r
240EFI_STATUS\r
241DRQClear2 (\r
242 IN IDE_BLK_IO_DEV *IdeDev,\r
243 IN UINTN TimeoutInMilliSeconds\r
244 )\r
245;\r
246\r
247/**\r
248 TODO: Add function description\r
249\r
250 @param IdeDev TODO: add argument description\r
251 @param TimeoutInMilliSeconds TODO: add argument description\r
252\r
253 TODO: add return values\r
254\r
255**/\r
256EFI_STATUS\r
257DRQReady (\r
258 IN IDE_BLK_IO_DEV *IdeDev,\r
259 IN UINTN TimeoutInMilliSeconds\r
260 )\r
261;\r
262\r
263/**\r
264 TODO: Add function description\r
265\r
266 @param IdeDev TODO: add argument description\r
267 @param TimeoutInMilliSeconds TODO: add argument description\r
268\r
269 TODO: add return values\r
270\r
271**/\r
272EFI_STATUS\r
273DRQReady2 (\r
274 IN IDE_BLK_IO_DEV *IdeDev,\r
275 IN UINTN TimeoutInMilliSeconds\r
276 )\r
277;\r
278\r
279/**\r
280 TODO: Add function description\r
281\r
282 @param IdeDev TODO: add argument description\r
283 @param TimeoutInMilliSeconds TODO: add argument description\r
284\r
285 TODO: add return values\r
286\r
287**/\r
288EFI_STATUS\r
289WaitForBSYClear (\r
290 IN IDE_BLK_IO_DEV *IdeDev,\r
291 IN UINTN TimeoutInMilliSeconds\r
292 )\r
293;\r
294\r
295/**\r
296 TODO: Add function description\r
297\r
298 @param IdeDev TODO: add argument description\r
299 @param TimeoutInMilliSeconds TODO: add argument description\r
300\r
301 TODO: add return values\r
302\r
303**/\r
304EFI_STATUS\r
305WaitForBSYClear2 (\r
306 IN IDE_BLK_IO_DEV *IdeDev,\r
307 IN UINTN TimeoutInMilliSeconds\r
308 )\r
309;\r
310\r
311/**\r
312 TODO: Add function description\r
313\r
314 @param IdeDev TODO: add argument description\r
315 @param DelayInMilliSeconds TODO: add argument description\r
316\r
317 TODO: add return values\r
318\r
319**/\r
320EFI_STATUS\r
321DRDYReady (\r
322 IN IDE_BLK_IO_DEV *IdeDev,\r
323 IN UINTN DelayInMilliSeconds\r
324 )\r
325;\r
326\r
327/**\r
328 TODO: Add function description\r
329\r
330 @param IdeDev TODO: add argument description\r
331 @param DelayInMilliSeconds TODO: add argument description\r
332\r
333 TODO: add return values\r
334\r
335**/\r
336EFI_STATUS\r
337DRDYReady2 (\r
338 IN IDE_BLK_IO_DEV *IdeDev,\r
339 IN UINTN DelayInMilliSeconds\r
340 )\r
341;\r
342\r
343/**\r
344 TODO: Add function description\r
345\r
346 @param Destination TODO: add argument description\r
347 @param Source TODO: add argument description\r
348 @param Size TODO: add argument description\r
349\r
350 TODO: add return values\r
351\r
352**/\r
353VOID\r
354SwapStringChars (\r
355 IN CHAR8 *Destination,\r
356 IN CHAR8 *Source,\r
357 IN UINT32 Size\r
358 )\r
359;\r
360\r
361//\r
362// ATA device functions' prototype\r
363//\r
364/**\r
365 TODO: Add function description\r
366\r
367 @param IdeDev TODO: add argument description\r
368\r
369 TODO: add return values\r
370\r
371**/\r
372EFI_STATUS\r
373ATAIdentify (\r
374 IN IDE_BLK_IO_DEV *IdeDev\r
375 )\r
376;\r
377\r
378/**\r
379 TODO: Add function description\r
380\r
381 @param IdeDev TODO: add argument description\r
382\r
383 TODO: add return values\r
384\r
385**/\r
386VOID\r
387PrintAtaModuleName (\r
388 IN IDE_BLK_IO_DEV *IdeDev\r
389 )\r
390;\r
391\r
392/**\r
393 TODO: Add function description\r
394\r
395 @param IdeDev TODO: add argument description\r
396 @param Buffer TODO: add argument description\r
397 @param ByteCount TODO: add argument description\r
398 @param AtaCommand TODO: add argument description\r
399 @param Head TODO: add argument description\r
400 @param SectorCount TODO: add argument description\r
401 @param SectorNumber TODO: add argument description\r
402 @param CylinderLsb TODO: add argument description\r
403 @param CylinderMsb TODO: add argument description\r
404\r
405 TODO: add return values\r
406\r
407**/\r
408EFI_STATUS\r
409AtaPioDataIn (\r
410 IN IDE_BLK_IO_DEV *IdeDev,\r
411 IN VOID *Buffer,\r
412 IN UINT32 ByteCount,\r
413 IN UINT8 AtaCommand,\r
414 IN UINT8 Head,\r
415 IN UINT8 SectorCount,\r
416 IN UINT8 SectorNumber,\r
417 IN UINT8 CylinderLsb,\r
418 IN UINT8 CylinderMsb\r
419 )\r
420;\r
421\r
422/**\r
423 TODO: Add function description\r
424\r
425 @param IdeDev TODO: add argument description\r
426 @param Buffer TODO: add argument description\r
427 @param ByteCount TODO: add argument description\r
428 @param AtaCommand TODO: add argument description\r
429 @param Head TODO: add argument description\r
430 @param SectorCount TODO: add argument description\r
431 @param SectorNumber TODO: add argument description\r
432 @param CylinderLsb TODO: add argument description\r
433 @param CylinderMsb TODO: add argument description\r
434\r
435 TODO: add return values\r
436\r
437**/\r
438EFI_STATUS\r
439AtaPioDataOut (\r
440 IN IDE_BLK_IO_DEV *IdeDev,\r
441 IN VOID *Buffer,\r
442 IN UINT32 ByteCount,\r
443 IN UINT8 AtaCommand,\r
444 IN UINT8 Head,\r
445 IN UINT8 SectorCount,\r
446 IN UINT8 SectorNumber,\r
447 IN UINT8 CylinderLsb,\r
448 IN UINT8 CylinderMsb\r
449 )\r
450;\r
451\r
452/**\r
453 TODO: Add function description\r
454\r
455 @param IdeDev TODO: add argument description\r
456\r
457 TODO: add return values\r
458\r
459**/\r
460EFI_STATUS\r
461CheckErrorStatus (\r
462 IN IDE_BLK_IO_DEV *IdeDev\r
463 )\r
464;\r
465\r
466/**\r
467 TODO: Add function description\r
468\r
469 @param IdeDev TODO: add argument description\r
470 @param DataBuffer TODO: add argument description\r
471 @param Lba TODO: add argument description\r
472 @param NumberOfBlocks TODO: add argument description\r
473\r
474 TODO: add return values\r
475\r
476**/\r
477EFI_STATUS\r
478AtaReadSectors (\r
479 IN IDE_BLK_IO_DEV *IdeDev,\r
480 IN VOID *DataBuffer,\r
481 IN EFI_LBA Lba,\r
482 IN UINTN NumberOfBlocks\r
483 )\r
484;\r
485\r
486/**\r
487 TODO: Add function description\r
488\r
489 @param IdeDev TODO: add argument description\r
490 @param BufferData TODO: add argument description\r
491 @param Lba TODO: add argument description\r
492 @param NumberOfBlocks TODO: add argument description\r
493\r
494 TODO: add return values\r
495\r
496**/\r
497EFI_STATUS\r
498AtaWriteSectors (\r
499 IN IDE_BLK_IO_DEV *IdeDev,\r
500 IN VOID *BufferData,\r
501 IN EFI_LBA Lba,\r
502 IN UINTN NumberOfBlocks\r
503 )\r
504;\r
505\r
506/**\r
507 TODO: Add function description\r
508\r
509 @param IdeDev TODO: add argument description\r
510\r
511 TODO: add return values\r
512\r
513**/\r
514EFI_STATUS\r
515AtaSoftReset (\r
516 IN IDE_BLK_IO_DEV *IdeDev\r
517 )\r
518;\r
519\r
520/**\r
521 TODO: Add function description\r
522\r
523 @param IdeBlkIoDevice TODO: add argument description\r
524 @param MediaId TODO: add argument description\r
525 @param LBA TODO: add argument description\r
526 @param BufferSize TODO: add argument description\r
527 @param Buffer TODO: add argument description\r
528\r
529 TODO: add return values\r
530\r
531**/\r
532EFI_STATUS\r
533AtaBlkIoReadBlocks (\r
534 IN IDE_BLK_IO_DEV *IdeBlkIoDevice,\r
535 IN UINT32 MediaId,\r
536 IN EFI_LBA LBA,\r
537 IN UINTN BufferSize,\r
538 OUT VOID *Buffer\r
539 )\r
540;\r
541\r
542/**\r
543 TODO: Add function description\r
544\r
545 @param IdeBlkIoDevice TODO: add argument description\r
546 @param MediaId TODO: add argument description\r
547 @param LBA TODO: add argument description\r
548 @param BufferSize TODO: add argument description\r
549 @param Buffer TODO: add argument description\r
550\r
551 TODO: add return values\r
552\r
553**/\r
554EFI_STATUS\r
555AtaBlkIoWriteBlocks (\r
556 IN IDE_BLK_IO_DEV *IdeBlkIoDevice,\r
557 IN UINT32 MediaId,\r
558 IN EFI_LBA LBA,\r
559 IN UINTN BufferSize,\r
560 OUT VOID *Buffer\r
561 )\r
562;\r
563\r
564//\r
565// ATAPI device functions' prototype\r
566//\r
567/**\r
568 TODO: Add function description\r
569\r
570 @param IdeDev TODO: add argument description\r
571\r
572 TODO: add return values\r
573\r
574**/\r
575EFI_STATUS\r
576ATAPIIdentify (\r
577 IN IDE_BLK_IO_DEV *IdeDev\r
578 )\r
579;\r
580\r
581/**\r
582 TODO: Add function description\r
583\r
584 @param IdeDev TODO: add argument description\r
585\r
586 TODO: add return values\r
587\r
588**/\r
589EFI_STATUS\r
590AtapiInquiry (\r
591 IN IDE_BLK_IO_DEV *IdeDev\r
592 )\r
593;\r
594\r
595/**\r
596 TODO: Add function description\r
597\r
598 @param IdeDev TODO: add argument description\r
599 @param Packet TODO: add argument description\r
600 @param Buffer TODO: add argument description\r
601 @param ByteCount TODO: add argument description\r
602 @param TimeOut TODO: add argument description\r
603\r
604 TODO: add return values\r
605\r
606**/\r
607EFI_STATUS\r
608AtapiPacketCommandIn (\r
609 IN IDE_BLK_IO_DEV *IdeDev,\r
610 IN ATAPI_PACKET_COMMAND *Packet,\r
611 IN UINT16 *Buffer,\r
612 IN UINT32 ByteCount,\r
613 IN UINTN TimeOut\r
614 )\r
615;\r
616\r
617/**\r
618 TODO: Add function description\r
619\r
620 @param IdeDev TODO: add argument description\r
621 @param Packet TODO: add argument description\r
622 @param Buffer TODO: add argument description\r
623 @param ByteCount TODO: add argument description\r
624 @param TimeOut TODO: add argument description\r
625\r
626 TODO: add return values\r
627\r
628**/\r
629EFI_STATUS\r
630AtapiPacketCommandOut (\r
631 IN IDE_BLK_IO_DEV *IdeDev,\r
632 IN ATAPI_PACKET_COMMAND *Packet,\r
633 IN UINT16 *Buffer,\r
634 IN UINT32 ByteCount,\r
635 IN UINTN TimeOut\r
636 )\r
637;\r
638\r
639/**\r
640 TODO: Add function description\r
641\r
642 @param IdeDev TODO: add argument description\r
643 @param Buffer TODO: add argument description\r
644 @param ByteCount TODO: add argument description\r
645 @param Read TODO: add argument description\r
646 @param TimeOut TODO: add argument description\r
647\r
648 TODO: add return values\r
649\r
650**/\r
651EFI_STATUS\r
652PioReadWriteData (\r
653 IN IDE_BLK_IO_DEV *IdeDev,\r
654 IN UINT16 *Buffer,\r
655 IN UINT32 ByteCount,\r
656 IN BOOLEAN Read,\r
657 IN UINTN TimeOut\r
658 )\r
659;\r
660\r
661/**\r
662 TODO: Add function description\r
663\r
664 @param IdeDev TODO: add argument description\r
665\r
666 TODO: add return values\r
667\r
668**/\r
669EFI_STATUS\r
670AtapiTestUnitReady (\r
671 IN IDE_BLK_IO_DEV *IdeDev\r
672 )\r
673;\r
674\r
675/**\r
676 TODO: Add function description\r
677\r
678 @param IdeDev TODO: add argument description\r
679 @param SenseCounts TODO: add argument description\r
680\r
681 TODO: add return values\r
682\r
683**/\r
684EFI_STATUS\r
685AtapiRequestSense (\r
686 IN IDE_BLK_IO_DEV *IdeDev,\r
687 OUT UINTN *SenseCounts\r
688 )\r
689;\r
690\r
691/**\r
692 TODO: Add function description\r
693\r
694 @param IdeDev TODO: add argument description\r
695\r
696 TODO: add return values\r
697\r
698**/\r
699EFI_STATUS\r
700AtapiReadCapacity (\r
701 IN IDE_BLK_IO_DEV *IdeDev\r
702 )\r
703;\r
704\r
705/**\r
706 TODO: Add function description\r
707\r
708 @param IdeDev TODO: add argument description\r
709 @param MediaChange TODO: add argument description\r
710\r
711 TODO: add return values\r
712\r
713**/\r
714EFI_STATUS\r
715AtapiDetectMedia (\r
716 IN IDE_BLK_IO_DEV *IdeDev,\r
717 OUT BOOLEAN *MediaChange\r
718 )\r
719;\r
720\r
721/**\r
722 TODO: Add function description\r
723\r
724 @param IdeDev TODO: add argument description\r
725 @param Buffer TODO: add argument description\r
726 @param Lba TODO: add argument description\r
727 @param NumberOfBlocks TODO: add argument description\r
728\r
729 TODO: add return values\r
730\r
731**/\r
732EFI_STATUS\r
733AtapiReadSectors (\r
734 IN IDE_BLK_IO_DEV *IdeDev,\r
735 IN VOID *Buffer,\r
736 IN EFI_LBA Lba,\r
737 IN UINTN NumberOfBlocks\r
738 )\r
739;\r
740\r
741/**\r
742 TODO: Add function description\r
743\r
744 @param IdeDev TODO: add argument description\r
745 @param Buffer TODO: add argument description\r
746 @param Lba TODO: add argument description\r
747 @param NumberOfBlocks TODO: add argument description\r
748\r
749 TODO: add return values\r
750\r
751**/\r
752EFI_STATUS\r
753AtapiWriteSectors (\r
754 IN IDE_BLK_IO_DEV *IdeDev,\r
755 IN VOID *Buffer,\r
756 IN EFI_LBA Lba,\r
757 IN UINTN NumberOfBlocks\r
758 )\r
759;\r
760\r
761/**\r
762 TODO: Add function description\r
763\r
764 @param IdeDev TODO: add argument description\r
765\r
766 TODO: add return values\r
767\r
768**/\r
769EFI_STATUS\r
770AtapiSoftReset (\r
771 IN IDE_BLK_IO_DEV *IdeDev\r
772 )\r
773;\r
774\r
775/**\r
776 TODO: Add function description\r
777\r
778 @param IdeBlkIoDevice TODO: add argument description\r
779 @param MediaId TODO: add argument description\r
780 @param LBA TODO: add argument description\r
781 @param BufferSize TODO: add argument description\r
782 @param Buffer TODO: add argument description\r
783\r
784 TODO: add return values\r
785\r
786**/\r
787EFI_STATUS\r
788AtapiBlkIoReadBlocks (\r
789 IN IDE_BLK_IO_DEV *IdeBlkIoDevice,\r
790 IN UINT32 MediaId,\r
791 IN EFI_LBA LBA,\r
792 IN UINTN BufferSize,\r
793 OUT VOID *Buffer\r
794 )\r
795;\r
796\r
797/**\r
798 TODO: Add function description\r
799\r
800 @param IdeBlkIoDevice TODO: add argument description\r
801 @param MediaId TODO: add argument description\r
802 @param LBA TODO: add argument description\r
803 @param BufferSize TODO: add argument description\r
804 @param Buffer TODO: add argument description\r
805\r
806 TODO: add return values\r
807\r
808**/\r
809EFI_STATUS\r
810AtapiBlkIoWriteBlocks (\r
811 IN IDE_BLK_IO_DEV *IdeBlkIoDevice,\r
812 IN UINT32 MediaId,\r
813 IN EFI_LBA LBA,\r
814 IN UINTN BufferSize,\r
815 OUT VOID *Buffer\r
816 )\r
817;\r
818\r
819/**\r
820 TODO: Add function description\r
821\r
822 @param SenseData TODO: add argument description\r
823 @param SenseCounts TODO: add argument description\r
824\r
825 TODO: add return values\r
826\r
827**/\r
828BOOLEAN\r
829IsNoMedia (\r
830 IN REQUEST_SENSE_DATA *SenseData,\r
831 IN UINTN SenseCounts\r
832 )\r
833;\r
834\r
835/**\r
836 TODO: Add function description\r
837\r
838 @param SenseData TODO: add argument description\r
839 @param SenseCounts TODO: add argument description\r
840\r
841 TODO: add return values\r
842\r
843**/\r
844BOOLEAN\r
845IsMediaError (\r
846 IN REQUEST_SENSE_DATA *SenseData,\r
847 IN UINTN SenseCounts\r
848 )\r
849;\r
850\r
851/**\r
852 TODO: Add function description\r
853\r
854 @param SenseData TODO: add argument description\r
855 @param SenseCounts TODO: add argument description\r
856\r
857 TODO: add return values\r
858\r
859**/\r
860BOOLEAN\r
861IsMediaChange (\r
862 IN REQUEST_SENSE_DATA *SenseData,\r
863 IN UINTN SenseCounts\r
864 )\r
865;\r
866\r
867/**\r
868 TODO: Add function description\r
869\r
870 @param SenseData TODO: add argument description\r
871 @param SenseCounts TODO: add argument description\r
872 @param NeedRetry TODO: add argument description\r
873\r
874 TODO: add return values\r
875\r
876**/\r
877BOOLEAN\r
878IsDriveReady (\r
879 IN REQUEST_SENSE_DATA *SenseData,\r
880 IN UINTN SenseCounts,\r
881 OUT BOOLEAN *NeedRetry\r
882 )\r
883;\r
884\r
885/**\r
886 TODO: Add function description\r
887\r
888 @param SenseData TODO: add argument description\r
889 @param SenseCounts TODO: add argument description\r
890\r
891 TODO: add return values\r
892\r
893**/\r
894BOOLEAN\r
895HaveSenseKey (\r
896 IN REQUEST_SENSE_DATA *SenseData,\r
897 IN UINTN SenseCounts\r
898 )\r
899;\r
900\r
901/**\r
902 TODO: Add function description\r
903\r
904 @param IdeDev TODO: add argument description\r
905 @param WriteProtected TODO: add argument description\r
906\r
907 TODO: add return values\r
908\r
909**/\r
910EFI_STATUS\r
911IsLS120orZipWriteProtected (\r
912 IN IDE_BLK_IO_DEV *IdeDev,\r
913 OUT BOOLEAN *WriteProtected\r
914 )\r
915;\r
916\r
917/**\r
918 TODO: Add function description\r
919\r
920 @param IdeBlkIoDevice TODO: add argument description\r
921\r
922 TODO: add return values\r
923\r
924**/\r
925VOID\r
926ReleaseIdeResources (\r
927 IN IDE_BLK_IO_DEV *IdeBlkIoDevice\r
928 )\r
929;\r
930\r
931/**\r
932 TODO: Add function description\r
933\r
934 @param IdeDev TODO: add argument description\r
935 @param TransferMode TODO: add argument description\r
936\r
937 TODO: add return values\r
938\r
939**/\r
940EFI_STATUS\r
941SetDeviceTransferMode (\r
942 IN IDE_BLK_IO_DEV *IdeDev,\r
943 IN ATA_TRANSFER_MODE *TransferMode\r
944 )\r
945;\r
946\r
947/**\r
948 TODO: Add function description\r
949\r
950 @param IdeDev TODO: add argument description\r
951 @param NativeMaxAddress TODO: add argument description\r
952\r
953 TODO: add return values\r
954\r
955**/\r
956EFI_STATUS\r
957ReadNativeMaxAddress (\r
958 IN IDE_BLK_IO_DEV *IdeDev,\r
959 OUT EFI_LBA *NativeMaxAddress\r
960 )\r
961;\r
962\r
963/**\r
964 TODO: Add function description\r
965\r
966 @param IdeDev TODO: add argument description\r
967 @param MaxAddress TODO: add argument description\r
968 @param bVolatile TODO: add argument description\r
969\r
970 TODO: add return values\r
971\r
972**/\r
973EFI_STATUS\r
974SetMaxAddress (\r
975 IN IDE_BLK_IO_DEV *IdeDev,\r
976 IN EFI_LBA MaxAddress,\r
977 IN BOOLEAN bVolatile\r
978 )\r
979;\r
980\r
981/**\r
982 TODO: Add function description\r
983\r
984 @param IdeDev TODO: add argument description\r
985 @param AtaCommand TODO: add argument description\r
986 @param Device TODO: add argument description\r
987 @param Feature TODO: add argument description\r
988 @param SectorCount TODO: add argument description\r
989 @param LbaLow TODO: add argument description\r
990 @param LbaMiddle TODO: add argument description\r
991 @param LbaHigh TODO: add argument description\r
992\r
993 TODO: add return values\r
994\r
995**/\r
996EFI_STATUS\r
997AtaNonDataCommandIn (\r
998 IN IDE_BLK_IO_DEV *IdeDev,\r
999 IN UINT8 AtaCommand,\r
1000 IN UINT8 Device,\r
1001 IN UINT8 Feature,\r
1002 IN UINT8 SectorCount,\r
1003 IN UINT8 LbaLow,\r
1004 IN UINT8 LbaMiddle,\r
1005 IN UINT8 LbaHigh\r
1006 )\r
1007;\r
1008\r
1009/**\r
1010 TODO: Add function description\r
1011\r
1012 @param IdeDev TODO: add argument description\r
1013 @param AtaCommand TODO: add argument description\r
1014 @param Device TODO: add argument description\r
1015 @param Feature TODO: add argument description\r
1016 @param SectorCount TODO: add argument description\r
1017 @param LbaAddress TODO: add argument description\r
1018\r
1019 TODO: add return values\r
1020\r
1021**/\r
1022EFI_STATUS\r
1023AtaNonDataCommandInExt (\r
1024 IN IDE_BLK_IO_DEV *IdeDev,\r
1025 IN UINT8 AtaCommand,\r
1026 IN UINT8 Device,\r
1027 IN UINT16 Feature,\r
1028 IN UINT16 SectorCount,\r
1029 IN EFI_LBA LbaAddress\r
1030 )\r
1031;\r
1032\r
1033/**\r
1034 TODO: Add function description\r
1035\r
1036 @param IdeDev TODO: add argument description\r
1037 @param DataBuffer TODO: add argument description\r
1038 @param StartLba TODO: add argument description\r
1039 @param NumberOfBlocks TODO: add argument description\r
1040\r
1041 TODO: add return values\r
1042\r
1043**/\r
1044EFI_STATUS\r
1045AtaReadSectorsExt (\r
1046 IN IDE_BLK_IO_DEV *IdeDev,\r
1047 IN VOID *DataBuffer,\r
1048 IN EFI_LBA StartLba,\r
1049 IN UINTN NumberOfBlocks\r
1050 )\r
1051;\r
1052\r
1053/**\r
1054 TODO: Add function description\r
1055\r
1056 @param IdeDev TODO: add argument description\r
1057 @param DataBuffer TODO: add argument description\r
1058 @param StartLba TODO: add argument description\r
1059 @param NumberOfBlocks TODO: add argument description\r
1060\r
1061 TODO: add return values\r
1062\r
1063**/\r
1064EFI_STATUS\r
1065AtaWriteSectorsExt (\r
1066 IN IDE_BLK_IO_DEV *IdeDev,\r
1067 IN VOID *DataBuffer,\r
1068 IN EFI_LBA StartLba,\r
1069 IN UINTN NumberOfBlocks\r
1070 )\r
1071;\r
1072\r
1073/**\r
1074 TODO: Add function description\r
1075\r
1076 @param IdeDev TODO: add argument description\r
1077 @param DataBuffer TODO: add argument description\r
1078 @param StartLba TODO: add argument description\r
1079 @param NumberOfBlocks TODO: add argument description\r
1080\r
1081 TODO: add return values\r
1082\r
1083**/\r
1084EFI_STATUS\r
1085AtaUdmaReadExt (\r
1086 IN IDE_BLK_IO_DEV *IdeDev,\r
1087 IN VOID *DataBuffer,\r
1088 IN EFI_LBA StartLba,\r
1089 IN UINTN NumberOfBlocks\r
1090 )\r
1091;\r
1092\r
1093/**\r
1094 TODO: Add function description\r
1095\r
1096 @param IdeDev TODO: add argument description\r
1097 @param DataBuffer TODO: add argument description\r
1098 @param StartLba TODO: add argument description\r
1099 @param NumberOfBlocks TODO: add argument description\r
1100\r
1101 TODO: add return values\r
1102\r
1103**/\r
1104EFI_STATUS\r
1105AtaUdmaRead (\r
1106 IN IDE_BLK_IO_DEV *IdeDev,\r
1107 IN VOID *DataBuffer,\r
1108 IN EFI_LBA StartLba,\r
1109 IN UINTN NumberOfBlocks\r
1110 )\r
1111;\r
1112\r
1113/**\r
1114 TODO: Add function description\r
1115\r
1116 @param IdeDev TODO: add argument description\r
1117 @param DataBuffer TODO: add argument description\r
1118 @param StartLba TODO: add argument description\r
1119 @param NumberOfBlocks TODO: add argument description\r
1120\r
1121 TODO: add return values\r
1122\r
1123**/\r
1124EFI_STATUS\r
1125AtaUdmaWriteExt (\r
1126 IN IDE_BLK_IO_DEV *IdeDev,\r
1127 IN VOID *DataBuffer,\r
1128 IN EFI_LBA StartLba,\r
1129 IN UINTN NumberOfBlocks\r
1130 )\r
1131;\r
1132\r
1133/**\r
1134 TODO: Add function description\r
1135\r
1136 @param IdeDev TODO: add argument description\r
1137 @param DataBuffer TODO: add argument description\r
1138 @param StartLba TODO: add argument description\r
1139 @param NumberOfBlocks TODO: add argument description\r
1140\r
1141 TODO: add return values\r
1142\r
1143**/\r
1144EFI_STATUS\r
1145AtaUdmaWrite (\r
1146 IN IDE_BLK_IO_DEV *IdeDev,\r
1147 IN VOID *DataBuffer,\r
1148 IN EFI_LBA StartLba,\r
1149 IN UINTN NumberOfBlocks\r
1150 )\r
1151;\r
1152\r
1153/**\r
1154 TODO: Add function description\r
1155\r
1156 @param IdeDev TODO: add argument description\r
1157 @param AtaCommand TODO: add argument description\r
1158 @param Device TODO: add argument description\r
1159 @param Feature TODO: add argument description\r
1160 @param SectorCount TODO: add argument description\r
1161 @param LbaAddress TODO: add argument description\r
1162\r
1163 TODO: add return values\r
1164\r
1165**/\r
1166EFI_STATUS\r
1167AtaCommandIssueExt (\r
1168 IN IDE_BLK_IO_DEV *IdeDev,\r
1169 IN UINT8 AtaCommand,\r
1170 IN UINT8 Device,\r
1171 IN UINT16 Feature,\r
1172 IN UINT16 SectorCount,\r
1173 IN EFI_LBA LbaAddress\r
1174 )\r
1175;\r
1176\r
1177/**\r
1178 TODO: Add function description\r
1179\r
1180 @param IdeDev TODO: add argument description\r
1181 @param AtaCommand TODO: add argument description\r
1182 @param Device TODO: add argument description\r
1183 @param Feature TODO: add argument description\r
1184 @param SectorCount TODO: add argument description\r
1185 @param LbaAddress TODO: add argument description\r
1186\r
1187 TODO: add return values\r
1188\r
1189**/\r
1190EFI_STATUS\r
1191AtaCommandIssue (\r
1192 IN IDE_BLK_IO_DEV *IdeDev,\r
1193 IN UINT8 AtaCommand,\r
1194 IN UINT8 Device,\r
1195 IN UINT16 Feature,\r
1196 IN UINT16 SectorCount,\r
1197 IN EFI_LBA LbaAddress\r
1198 )\r
1199;\r
1200\r
1201/**\r
1202 TODO: Add function description\r
1203\r
1204 @param IdeDev TODO: add argument description\r
1205\r
1206 TODO: add return values\r
1207\r
1208**/\r
1209EFI_STATUS\r
1210AtaAtapi6Identify (\r
1211 IN IDE_BLK_IO_DEV *IdeDev\r
1212 )\r
1213;\r
1214\r
1215\r
1216/**\r
1217 TODO: Add function description\r
1218\r
1219 @param IdeDev TODO: add argument description\r
1220\r
1221 TODO: add return values\r
1222\r
1223**/\r
1224VOID\r
1225AtaSMARTSupport (\r
1226 IN IDE_BLK_IO_DEV *IdeDev\r
1227 )\r
1228;\r
1229\r
1230/**\r
1231 TODO: Add function description\r
1232\r
1233 @param IdeDev TODO: add argument description\r
1234 @param Buffer TODO: add argument description\r
1235 @param ByteCount TODO: add argument description\r
1236 @param AtaCommand TODO: add argument description\r
1237 @param StartLba TODO: add argument description\r
1238 @param SectorCount TODO: add argument description\r
1239\r
1240 TODO: add return values\r
1241\r
1242**/\r
1243EFI_STATUS\r
1244AtaPioDataInExt (\r
1245 IN IDE_BLK_IO_DEV *IdeDev,\r
1246 IN OUT VOID *Buffer,\r
1247 IN UINT32 ByteCount,\r
1248 IN UINT8 AtaCommand,\r
1249 IN EFI_LBA StartLba,\r
1250 IN UINT16 SectorCount\r
1251 )\r
1252;\r
1253\r
1254/**\r
1255 TODO: Add function description\r
1256\r
1257 @param IdeDev TODO: add argument description\r
1258 @param Buffer TODO: add argument description\r
1259 @param ByteCount TODO: add argument description\r
1260 @param AtaCommand TODO: add argument description\r
1261 @param StartLba TODO: add argument description\r
1262 @param SectorCount TODO: add argument description\r
1263\r
1264 TODO: add return values\r
1265\r
1266**/\r
1267EFI_STATUS\r
1268AtaPioDataOutExt (\r
1269 IN IDE_BLK_IO_DEV *IdeDev,\r
1270 IN VOID *Buffer,\r
1271 IN UINT32 ByteCount,\r
1272 IN UINT8 AtaCommand,\r
1273 IN EFI_LBA StartLba,\r
1274 IN UINT16 SectorCount\r
1275 )\r
1276;\r
1277\r
1278/**\r
1279 TODO: Add function description\r
1280\r
1281 @param IdeDev TODO: add argument description\r
1282 @param DriveParameters TODO: add argument description\r
1283\r
1284 TODO: add return values\r
1285\r
1286**/\r
1287EFI_STATUS\r
1288SetDriveParameters (\r
1289 IN IDE_BLK_IO_DEV *IdeDev,\r
1290 IN ATA_DRIVE_PARMS *DriveParameters\r
1291 )\r
1292;\r
1293\r
1294/**\r
1295 TODO: Add function description\r
1296\r
1297 @param IdeDev TODO: add argument description\r
1298\r
1299 TODO: add return values\r
1300\r
1301**/\r
1302EFI_STATUS\r
1303EnableInterrupt (\r
1304 IN IDE_BLK_IO_DEV *IdeDev\r
1305 )\r
1306;\r
1307\r
1308#endif\r