XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions
usbmassdevice.c File Reference
#include "uspi/usbmassdevice.h"
#include "uspi/usbhostcontroller.h"
#include "uspi/devicenameservice.h"
#include "uspi/util.h"
#include "uspi/macros.h"
#include "uspi/assert.h"
#include "uspios.h"
Include dependency graph for usbmassdevice.c:

Classes

struct  TCBW
 
struct  TCSW
 
struct  TSCSIInquiry
 
struct  TSCSIInquiryResponse
 
struct  TSCSITestUnitReady
 
struct  TSCSIRequestSense
 
struct  TSCSIRequestSenseResponse7x
 
struct  TSCSIReadCapacity10
 
struct  TSCSIReadCapacityResponse
 
struct  TSCSIRead10
 
struct  TSCSIWrite10
 

Macros

#define CBWSIGNATURE   0x43425355
 
#define CBWFLAGS_DATA_IN   0x80
 
#define CBWLUN   0
 
#define CSWSIGNATURE   0x53425355
 
#define CSWSTATUS_PASSED   0x00
 
#define CSWSTATUS_FAILED   0x01
 
#define CSWSTATUS_PHASE_ERROR   0x02
 
#define SCSI_CONTROL   0x00
 
#define SCSI_OP_INQUIRY   0x12
 
#define SCSI_PDT_DIRECT_ACCESS_BLOCK   0x00
 
#define SCSI_PDT_DIRECT_ACCESS_RBC   0x0E
 
#define SCSI_OP_TEST_UNIT_READY   0x00
 
#define SCSI_REQUEST_SENSE   0x03
 
#define SCSI_OP_READ_CAPACITY10   0x25
 
#define SCSI_OP_READ   0x28
 
#define SCSI_OP_WRITE   0x2A
 
#define SCSI_WRITE_FUA   0x08
 

Typedefs

typedef struct TCBW TCBW
 
typedef struct TCSW TCSW
 
typedef struct TSCSIInquiry TSCSIInquiry
 
typedef struct TSCSIInquiryResponse TSCSIInquiryResponse
 
typedef struct TSCSITestUnitReady TSCSITestUnitReady
 
typedef struct TSCSIRequestSense TSCSIRequestSense
 
typedef struct TSCSIRequestSenseResponse7x TSCSIRequestSenseResponse7x
 
typedef struct TSCSIReadCapacity10 TSCSIReadCapacity10
 
typedef struct TSCSIReadCapacityResponse TSCSIReadCapacityResponse
 
typedef struct TSCSIRead10 TSCSIRead10
 
typedef struct TSCSIWrite10 TSCSIWrite10
 

Functions

int USBBulkOnlyMassStorageDeviceTryRead (TUSBBulkOnlyMassStorageDevice *pThis, void *pBuffer, unsigned nCount)
 
int USBBulkOnlyMassStorageDeviceTryWrite (TUSBBulkOnlyMassStorageDevice *pThis, const void *pBuffer, unsigned nCount)
 
int USBBulkOnlyMassStorageDeviceCommand (TUSBBulkOnlyMassStorageDevice *pThis, void *pCmdBlk, unsigned nCmdBlkLen, void *pBuffer, unsigned nBufLen, boolean bIn)
 
int USBBulkOnlyMassStorageDeviceReset (TUSBBulkOnlyMassStorageDevice *pThis)
 
void USBBulkOnlyMassStorageDevice (TUSBBulkOnlyMassStorageDevice *pThis, TUSBFunction *pDevice)
 
void _USBBulkOnlyMassStorageDevice (TUSBBulkOnlyMassStorageDevice *pThis)
 
boolean USBBulkOnlyMassStorageDeviceConfigure (TUSBFunction *pUSBFunction)
 
int USBBulkOnlyMassStorageDeviceRead (TUSBBulkOnlyMassStorageDevice *pThis, void *pBuffer, unsigned nCount)
 
int USBBulkOnlyMassStorageDeviceWrite (TUSBBulkOnlyMassStorageDevice *pThis, const void *pBuffer, unsigned nCount)
 
unsigned long long USBBulkOnlyMassStorageDeviceSeek (TUSBBulkOnlyMassStorageDevice *pThis, unsigned long long ullOffset)
 
unsigned USBBulkOnlyMassStorageDeviceGetCapacity (TUSBBulkOnlyMassStorageDevice *pThis)
 

Macro Definition Documentation

◆ CBWFLAGS_DATA_IN

#define CBWFLAGS_DATA_IN   0x80

◆ CBWLUN

#define CBWLUN   0

◆ CBWSIGNATURE

#define CBWSIGNATURE   0x43425355

◆ CSWSIGNATURE

#define CSWSIGNATURE   0x53425355

◆ CSWSTATUS_FAILED

#define CSWSTATUS_FAILED   0x01

◆ CSWSTATUS_PASSED

#define CSWSTATUS_PASSED   0x00

◆ CSWSTATUS_PHASE_ERROR

#define CSWSTATUS_PHASE_ERROR   0x02

◆ SCSI_CONTROL

#define SCSI_CONTROL   0x00

◆ SCSI_OP_INQUIRY

#define SCSI_OP_INQUIRY   0x12

◆ SCSI_OP_READ

#define SCSI_OP_READ   0x28

◆ SCSI_OP_READ_CAPACITY10

#define SCSI_OP_READ_CAPACITY10   0x25

◆ SCSI_OP_TEST_UNIT_READY

#define SCSI_OP_TEST_UNIT_READY   0x00

◆ SCSI_OP_WRITE

#define SCSI_OP_WRITE   0x2A

◆ SCSI_PDT_DIRECT_ACCESS_BLOCK

#define SCSI_PDT_DIRECT_ACCESS_BLOCK   0x00

◆ SCSI_PDT_DIRECT_ACCESS_RBC

#define SCSI_PDT_DIRECT_ACCESS_RBC   0x0E

◆ SCSI_REQUEST_SENSE

#define SCSI_REQUEST_SENSE   0x03

◆ SCSI_WRITE_FUA

#define SCSI_WRITE_FUA   0x08

Typedef Documentation

◆ TCBW

typedef struct TCBW TCBW

◆ TCSW

typedef struct TCSW TCSW

◆ TSCSIInquiry

typedef struct TSCSIInquiry TSCSIInquiry

◆ TSCSIInquiryResponse

◆ TSCSIRead10

typedef struct TSCSIRead10 TSCSIRead10

◆ TSCSIReadCapacity10

◆ TSCSIReadCapacityResponse

◆ TSCSIRequestSense

◆ TSCSIRequestSenseResponse7x

◆ TSCSITestUnitReady

◆ TSCSIWrite10

typedef struct TSCSIWrite10 TSCSIWrite10

Function Documentation

◆ _USBBulkOnlyMassStorageDevice()

void _USBBulkOnlyMassStorageDevice ( TUSBBulkOnlyMassStorageDevice pThis)

◆ USBBulkOnlyMassStorageDevice()

void USBBulkOnlyMassStorageDevice ( TUSBBulkOnlyMassStorageDevice pThis,
TUSBFunction pDevice 
)

◆ USBBulkOnlyMassStorageDeviceCommand()

int USBBulkOnlyMassStorageDeviceCommand ( TUSBBulkOnlyMassStorageDevice pThis,
void *  pCmdBlk,
unsigned  nCmdBlkLen,
void *  pBuffer,
unsigned  nBufLen,
boolean  bIn 
)

◆ USBBulkOnlyMassStorageDeviceConfigure()

boolean USBBulkOnlyMassStorageDeviceConfigure ( TUSBFunction pUSBFunction)

◆ USBBulkOnlyMassStorageDeviceGetCapacity()

unsigned USBBulkOnlyMassStorageDeviceGetCapacity ( TUSBBulkOnlyMassStorageDevice pThis)

◆ USBBulkOnlyMassStorageDeviceRead()

int USBBulkOnlyMassStorageDeviceRead ( TUSBBulkOnlyMassStorageDevice pThis,
void *  pBuffer,
unsigned  nCount 
)

◆ USBBulkOnlyMassStorageDeviceReset()

int USBBulkOnlyMassStorageDeviceReset ( TUSBBulkOnlyMassStorageDevice pThis)

◆ USBBulkOnlyMassStorageDeviceSeek()

unsigned long long USBBulkOnlyMassStorageDeviceSeek ( TUSBBulkOnlyMassStorageDevice pThis,
unsigned long long  ullOffset 
)

◆ USBBulkOnlyMassStorageDeviceTryRead()

int USBBulkOnlyMassStorageDeviceTryRead ( TUSBBulkOnlyMassStorageDevice pThis,
void *  pBuffer,
unsigned  nCount 
)

◆ USBBulkOnlyMassStorageDeviceTryWrite()

int USBBulkOnlyMassStorageDeviceTryWrite ( TUSBBulkOnlyMassStorageDevice pThis,
const void *  pBuffer,
unsigned  nCount 
)

◆ USBBulkOnlyMassStorageDeviceWrite()

int USBBulkOnlyMassStorageDeviceWrite ( TUSBBulkOnlyMassStorageDevice pThis,
const void *  pBuffer,
unsigned  nCount 
)