+;\r
+\r
+VOID\r
+InitFrameList (\r
+ IN USB_HC_DEV *HcDev\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Initialize FrameList\r
+\r
+Arguments:\r
+\r
+ HcDev - USB_HC_DEV\r
+\r
+Returns:\r
+ VOID\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+CreateQH (\r
+ IN USB_HC_DEV *HcDev,\r
+ OUT QH_STRUCT **pptrQH\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ CreateQH\r
+\r
+Arguments:\r
+\r
+ HcDev - USB_HC_DEV\r
+ pptrQH - QH_STRUCT content to return\r
+Returns:\r
+\r
+ EFI_SUCCESS - Success\r
+ EFI_OUT_OF_RESOURCES - Can't allocate memory\r
+ \r
+--*/\r
+;\r
+\r
+VOID\r
+SetQHHorizontalLinkPtr (\r
+ IN QH_STRUCT *ptrQH,\r
+ IN VOID *ptrNext\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Set QH Horizontal Link Pointer\r
+\r
+Arguments:\r
+\r
+ PtrQH - QH_STRUCT\r
+ ptrNext - Data to write \r
+\r
+Returns:\r
+\r
+ VOID\r
+\r
+--*/\r
+;\r
+\r
+VOID *\r
+GetQHHorizontalLinkPtr (\r
+ IN QH_STRUCT *ptrQH\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Get QH Horizontal Link Pointer\r
+\r
+Arguments:\r
+\r
+ PtrQH - QH_STRUCT\r
+ \r
+\r
+Returns:\r
+\r
+ Data to return \r
+\r
+--*/\r
+;\r
+\r
+VOID\r
+SetQHHorizontalQHorTDSelect (\r
+ IN QH_STRUCT *ptrQH,\r
+ IN BOOLEAN bQH\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Set QH Horizontal QH or TD \r
+\r
+Arguments:\r
+\r
+ PtrQH - QH_STRUCT\r
+ bQH - TRUE is QH FALSE is TD\r
+\r
+Returns:\r
+ VOID\r
+\r
+--*/\r
+;\r
+\r
+VOID\r
+SetQHHorizontalValidorInvalid (\r
+ IN QH_STRUCT *ptrQH,\r
+ IN BOOLEAN bValid\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Set QH Horizontal Valid or Invalid\r
+\r
+Arguments:\r
+\r
+ PtrQH - QH_STRUCT\r
+ bValid - TRUE is Valid FALSE is Invalid\r
+\r
+Returns:\r
+ VOID\r
+\r
+--*/\r
+;\r
+\r
+VOID\r
+SetQHVerticalLinkPtr (\r
+ IN QH_STRUCT *ptrQH,\r
+ IN VOID *ptrNext\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Set QH Vertical Link Pointer\r
+ \r
+Arguments:\r
+\r
+ PtrQH - QH_STRUCT\r
+ ptrNext - Data to write\r
+Returns:\r
+\r
+ VOID\r
+\r
+--*/\r
+;\r
+\r
+VOID *\r
+GetQHVerticalLinkPtr (\r
+ IN QH_STRUCT *ptrQH\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Get QH Vertical Link Pointer\r
+ \r
+Arguments:\r
+\r
+ PtrQH - QH_STRUCT\r
+ \r
+Returns:\r
+\r
+ Data to return\r
+\r
+--*/\r
+;\r
+\r
+VOID\r
+SetQHVerticalQHorTDSelect (\r
+ IN QH_STRUCT *ptrQH,\r
+ IN BOOLEAN bQH\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Set QH Vertical QH or TD\r
+\r
+Arguments:\r
+\r
+ PtrQH - QH_STRUCT\r
+ bQH - TRUE is QH FALSE is TD\r
+\r
+Returns:\r
+\r
+ VOID\r
+\r
+--*/\r
+;\r
+\r
+BOOLEAN\r
+IsQHHorizontalQHSelect (\r
+ IN QH_STRUCT *ptrQH\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Is QH Horizontal QH Select\r
+\r
+Arguments:\r
+\r
+ PtrQH - QH_STRUCT\r
+ \r
+Returns:\r
+\r
+ TRUE - QH\r
+ FALSE - TD\r
+\r
+--*/\r
+;\r
+\r
+VOID\r
+SetQHVerticalValidorInvalid (\r
+ IN QH_STRUCT *ptrQH,\r
+ IN BOOLEAN bValid\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Set QH Vertical Valid or Invalid\r
+\r
+Arguments:\r
+\r
+ PtrQH - QH_STRUCT\r
+ IsValid - TRUE is valid FALSE is invalid\r
+\r
+Returns:\r
+\r
+ VOID\r
+\r
+--*/\r
+;\r
+\r
+BOOLEAN\r
+GetQHVerticalValidorInvalid (\r
+ IN QH_STRUCT *ptrQH\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Get QH Vertical Valid or Invalid\r
+\r
+Arguments:\r
+\r
+ PtrQH - QH_STRUCT\r
+\r
+Returns:\r
+\r
+ TRUE - Valid\r
+ FALSE - Invalid\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+AllocateTDStruct (\r
+ IN USB_HC_DEV *HcDev,\r
+ OUT TD_STRUCT **ppTDStruct\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Allocate TD Struct\r
+\r
+Arguments:\r
+\r
+ HcDev - USB_HC_DEV\r
+ ppTDStruct - place to store TD_STRUCT pointer\r
+Returns:\r
+\r
+ EFI_SUCCESS\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+CreateTD (\r
+ IN USB_HC_DEV *HcDev,\r
+ OUT TD_STRUCT **pptrTD\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Create TD\r
+\r
+Arguments:\r
+\r
+ HcDev - USB_HC_DEV\r
+ pptrTD - TD_STRUCT pointer to store\r
+\r
+Returns:\r
+\r
+ EFI_OUT_OF_RESOURCES - Can't allocate resources\r
+ EFI_SUCCESS - Success\r
+\r
+--*/\r
+;\r