Source file: /~heha/ewa/Motor/Maxmaus6.zip/usblib/usbdma.h

// TITLE: Private header file used to share internal variables and library.
#pragma once
#include <stdint.h>		// uint32_t
#include <inc/hw_types.h>	// uint8_t

struct tUSBDMAInstance {
  enum{
   MAX_CHANNELS = 8
  };
  uint32_t ui32Base;
  uint32_t ui32IntNum;
  uint32_t pui32Config[MAX_CHANNELS];
  uint32_t pui32MaxPacketSize[MAX_CHANNELS];
  uint32_t *ppui32Data[MAX_CHANNELS];
  uint32_t pui32Count[MAX_CHANNELS];
  uint8_t pui8Endpoint[MAX_CHANNELS];
  uint32_t pui32EPDMAMode0[MAX_CHANNELS];
  uint32_t pui32EPDMAMode1[MAX_CHANNELS];
  uint32_t ui32Pending;
  uint32_t ui32Complete;
  virtual void ArbSizeSet(uint32_t Channel, uint32_t ArbSize)	{}
  virtual uint32_t ChannelAllocate( uint8_t Endpoint,
                                    uint32_t MaxPacketSize,
                                    uint32_t Config)		{return 0;}
  virtual void ChannelEnable(uint32_t Channel)			{}
  virtual void ChannelDisable(uint32_t Channel)			{}
  virtual void ChannelRelease(uint8_t Endpoint)			{}
  virtual uint32_t ChannelStatus(uint32_t ui32Channel)		{return 0;}
  virtual void ChannelIntDisable(uint32_t ui32Channel)		{}
  virtual void ChannelIntEnable(uint32_t ui32Channel)		{}
  virtual void IntHandler(uint32_t ui32Status);
  virtual uint32_t IntStatus()					{return 0;}
  virtual void IntStatusClear(uint32_t Status)			{ui32Complete &= ~Status;}
  virtual uint32_t Status()					{return 0;}
  virtual uint32_t Transfer(uint32_t ui32Channel, void *pvBuffer,
                             uint32_t ui32Size)			{return 0;}
  virtual void UnitSizeSet(uint32_t Channel, uint32_t BitSize)	{}
  void init(uint32_t);
};

//*****************************************************************************
// These are the USB libraries DMA functions.
//*****************************************************************************
tUSBDMAInstance * USBLibDMAInit(uint32_t ui32Index);
Detected encoding: ASCII (7 bit)2