XenevaOS
Loading...
Searching...
No Matches
dwhcixferstagedata.h
Go to the documentation of this file.
1//
2// dwhcixferstagedata.h
3//
4// USPi - An USB driver for Raspberry Pi written in C
5// Copyright (C) 2014-2018 R. Stange <rsta2@o2online.de>
6//
7// This program is free software: you can redistribute it and/or modify
8// it under the terms of the GNU General Public License as published by
9// the Free Software Foundation, either version 3 of the License, or
10// (at your option) any later version.
11//
12// This program is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15// GNU General Public License for more details.
16//
17// You should have received a copy of the GNU General Public License
18// along with this program. If not, see <http://www.gnu.org/licenses/>.
19//
20#ifndef _uspi_dwhcixferstagedata_h
21#define _uspi_dwhcixferstagedata_h
22
23#include "usb.h"
24#include "usbrequest.h"
25#include "usbdevice.h"
26#include "usbendpoint.h"
27#include "dwhciframescheduler.h"
28#include "dwhciframeschedper.h"
29#include "dwhciframeschednper.h"
31#include "macros.h"
32#include "types.h"
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
77
78void DWHCITransferStageData (TDWHCITransferStageData *pThis, unsigned nChannel, TUSBRequest *pURB, boolean bIn, boolean bStatusStage);
80
81// change status
82void DWHCITransferStageDataTransactionComplete (TDWHCITransferStageData *pThis, u32 nStatus, u32 nPacketsLeft, u32 nBytesLeft);
84
85void DWHCITransferStageDataSetState (TDWHCITransferStageData *pThis, unsigned nState);
87void DWHCITransferStageDataSetSubState (TDWHCITransferStageData *pThis, unsigned nSubState);
89
91
92// get transaction parameters
100
104
108
114
116
117// check status after transaction
121
124
125#ifdef __cplusplus
126}
127#endif
128
129#endif
TUSBSpeed
Definition usb.h:43
u8 DWHCITransferStageDataGetEndpointNumber(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:285
TDWHCIFrameScheduler * DWHCITransferStageDataGetFrameScheduler(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:452
u32 DWHCITransferStageDataGetBytesToTransfer(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:353
void DWHCITransferStageDataSetSubState(TDWHCITransferStageData *pThis, unsigned nSubState)
Definition dwhcixferstagedata.c:216
boolean DWHCITransferStageDataIsSplitComplete(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:371
TUSBSpeed DWHCITransferStageDataGetSpeed(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:298
boolean DWHCITransferStageDataIsDirectionIn(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:333
boolean DWHCITransferStageDataIsStageComplete(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:428
u32 DWHCITransferStageDataGetTransactionStatus(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:421
u8 DWHCITransferStageDataGetDeviceAddress(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:249
boolean DWHCITransferStageDataBeginSplitCycle(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:228
unsigned DWHCITransferStageDataGetSubState(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:222
void DWHCITransferStageDataSetSplitComplete(TDWHCITransferStageData *pThis, boolean bComplete)
Definition dwhcixferstagedata.c:196
u32 DWHCITransferStageDataGetMaxPacketSize(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:292
u8 DWHCITransferStageDataGetHubAddress(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:379
void DWHCITransferStageData(TDWHCITransferStageData *pThis, unsigned nChannel, TUSBRequest *pURB, boolean bIn, boolean bStatusStage)
Definition dwhcixferstagedata.c:25
u8 DWHCITransferStageDataGetEndpointType(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:256
u32 DWHCITransferStageDataGetStatusMask(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:403
u32 DWHCITransferStageDataGetDMAAddress(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:345
unsigned DWHCITransferStageDataGetState(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:210
u8 DWHCITransferStageDataGetHubPortAddress(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:388
u32 DWHCITransferStageDataGetResultLen(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:434
boolean DWHCITransferStageDataIsPeriodic(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:239
void _DWHCITransferStageData(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:126
unsigned DWHCITransferStageDataGetChannelNumber(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:233
boolean DWHCITransferStageDataIsStatusStage(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:339
void DWHCITransferStageDataSetState(TDWHCITransferStageData *pThis, unsigned nState)
Definition dwhcixferstagedata.c:204
boolean DWHCITransferStageDataIsSplit(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:365
void DWHCITransferStageDataTransactionComplete(TDWHCITransferStageData *pThis, u32 nStatus, u32 nPacketsLeft, u32 nBytesLeft)
Definition dwhcixferstagedata.c:142
TUSBRequest * DWHCITransferStageDataGetURB(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:445
u8 DWHCITransferStageDataGetPID(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:304
u8 DWHCITransferStageDataGetSplitPosition(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:397
u32 DWHCITransferStageDataGetPacketsToTransfer(TDWHCITransferStageData *pThis)
Definition dwhcixferstagedata.c:359
uint8_t u8
Definition kernel.h:20
uint32_t u32
Definition kernel.h:22
Definition dwhciframeschednsplit.h:27
Definition dwhciframeschednper.h:27
Definition dwhciframeschedper.h:27
Definition dwhciframescheduler.h:30
Definition dwhcixferstagedata.h:39
union TDWHCITransferStageData::@473 m_FrameScheduler
TUSBSpeed m_Speed
Definition dwhcixferstagedata.h:50
u32 m_nBytesPerTransaction
Definition dwhcixferstagedata.h:55
TUSBRequest * m_pURB
Definition dwhcixferstagedata.h:41
TDWHCIFrameSchedulerNoSplit NoSplit
Definition dwhcixferstagedata.h:72
TUSBEndpoint * m_pEndpoint
Definition dwhcixferstagedata.h:49
TUSBDevice * m_pDevice
Definition dwhcixferstagedata.h:48
unsigned m_nPacketsPerTransaction
Definition dwhcixferstagedata.h:56
unsigned m_nState
Definition dwhcixferstagedata.h:59
boolean m_bSplitTransaction
Definition dwhcixferstagedata.h:45
TDWHCIFrameSchedulerNonPeriodic NonPeriodic
Definition dwhcixferstagedata.h:71
boolean m_bIn
Definition dwhcixferstagedata.h:42
unsigned m_nSubState
Definition dwhcixferstagedata.h:60
u32 m_nMaxPacketSize
Definition dwhcixferstagedata.h:51
u32 ALIGN(4) m_TempBuffer
void * m_pBufferPointer
Definition dwhcixferstagedata.h:64
boolean m_bSplitComplete
Definition dwhcixferstagedata.h:46
TDWHCIFrameScheduler Base
Definition dwhcixferstagedata.h:69
TDWHCIFrameSchedulerPeriodic Periodic
Definition dwhcixferstagedata.h:70
u32 m_nTransactionStatus
Definition dwhcixferstagedata.h:61
u32 m_nTotalBytesTransfered
Definition dwhcixferstagedata.h:57
unsigned m_nPackets
Definition dwhcixferstagedata.h:54
boolean m_bFrameSchedulerUsed
Definition dwhcixferstagedata.h:66
u32 m_nTransferSize
Definition dwhcixferstagedata.h:53
boolean m_bStatusStage
Definition dwhcixferstagedata.h:43
unsigned m_nChannel
Definition dwhcixferstagedata.h:40
Definition usbdevice.h:48
Definition usbendpoint.h:41
Definition usbrequest.h:36