vitasdk
Documentation of the vitasdk
sdif.h File Reference

Go to the source code of this file.

Data Structures

struct  SceSdifContextPartBase
 Common 0x30-byte prefix of the FW 3.60 MMC, SD, and SDIO contexts. More...
 
struct  SceSdifHostRegisters
 Memory-mapped SD host-controller register block. More...
 
struct  SceSdifCmdInput
 SD/MMC command object. More...
 
struct  SceSdifContextData
 Mutable state for one FW 3.60 SDIF controller. More...
 
struct  SceSdifContextGlobal
 Process-global state for one SDIF controller. More...
 
union  SceSdifContextPartBase.__unnamed49__
 
union  SceSdifContextPartBase.__unnamed51__
 
union  SceSdifCmdInput.response
 Stores a normal response without the command index and CRC-7. This can also store CID or CSD; CRC-7 is cleared. The storage order is reversed. More...
 
struct  SceSdifCmdInput.response.words
 

Macros

#define SCE_SDIF_DEVICE_USD   SCE_SDIF_DEVICE_SD
 Alias using the internal uSD name for the microSD controller index.
 

Typedefs

typedef void * SceSdifDeviceContext
 
typedef struct SceSdifContextPart SceSdifContextPart
 Opaque device-specific context.
 

Enumerations

enum  SceSdifDeviceIndex { SCE_SDIF_DEVICE_EMMC = 0x0 , SCE_SDIF_DEVICE_GC = 0x1 , SCE_SDIF_DEVICE_SDIO = 0x2 , SCE_SDIF_DEVICE_SD = 0x3 }
 
enum  SceSdifDeviceType { SCE_SDIF_DEVICE_TYPE_INVALID = 0x0 , SCE_SDIF_DEVICE_TYPE_MMC = 0x1 , SCE_SDIF_DEVICE_TYPE_SD = 0x2 , SCE_SDIF_DEVICE_TYPE_SDIO = 0x3 }
 
enum  SceSdifCommandState { SCE_SDIF_COMMAND_STATE_FREE = 0 , SCE_SDIF_COMMAND_STATE_QUEUED = 1 , SCE_SDIF_COMMAND_STATE_ACTIVE = 2 , SCE_SDIF_COMMAND_STATE_COMPLETED = 3 }
 Internal state of a command owned by a controller context. More...
 

Functions

SceSdifDeviceContext * ksceSdifGetSdContextPartValidateMmc (SceSdifDeviceIndex dev_index)
 Get an initialized MMC context.
 
int ksceSdifInitializeMmcDevice (SceSdifDeviceIndex dev_index, SceSdifDeviceContext *dev_ctx)
 Initialize an MMC device.
 
int ksceSdifWriteCmd56 (SceSdifDeviceContext *dev_ctx, const void *buf, SceSize size)
 Send a game-card CMD56 request.
 
int ksceSdifReadCmd56 (SceSdifDeviceContext *dev_ctx, void *buf, SceSize size)
 Receive a game-card CMD56 response.
 
 VITASDK_BUILD_ASSERT_EQ (0x30, SceSdifContextPartBase)
 
 VITASDK_BUILD_ASSERT_EQ (0x1000, SceSdifHostRegisters)
 
 VITASDK_BUILD_ASSERT_EQ (0x240, SceSdifCmdInput)
 
 VITASDK_BUILD_ASSERT_EQ (0xC0, SceSdifContextData)
 
 VITASDK_BUILD_ASSERT_EQ (0x24C0, SceSdifContextGlobal)
 
int ksceSdifGetCardInsertState1 (SceSdifDeviceIndex device_index)
 Get a controller's card-detect input.
 
int ksceSdifGetCardInsertState2 (SceSdifDeviceIndex device_index)
 Get a controller's card-detect input.
 
int ksceSdifGetCID (const SceSdifContextPart *ctx, void *cid)
 Copy a device's card identification register.
 
SceSdifContextGlobal * ksceSdifGetSdContextGlobal (SceSdifDeviceIndex device_index)
 Get a controller's process-global context.
 
SceSdifDeviceContext * ksceSdifGetSdContextPartValidateSd (SceSdifDeviceIndex dev_index)
 Get an initialized SD context.
 
SceSdifContextPart * ksceSdifGetSdContextPartValidateSdio (SceSdifDeviceIndex device_index)
 Get an initialized SDIO context.
 
int ksceSdifInitializeSdDevice (SceSdifDeviceIndex device_index, SceSdifContextPart **result)
 Initialize an SD device.
 
int ksceSdifReadSectorMmc (SceSdifContextPart *ctx, SceUInt32 sector, void *buffer, SceUInt32 sector_count)
 Read MMC sectors.
 
int ksceSdifReadSectorSd (SceSdifContextPart *ctx, SceUInt32 sector, void *buffer, SceUInt32 sector_count)
 Read SD sectors.
 
int ksceSdifWriteSectorMmc (SceSdifContextPart *ctx, SceUInt32 sector, const void *buffer, SceUInt32 sector_count)
 Write MMC sectors.
 
int ksceSdifWriteSectorSd (SceSdifContextPart *ctx, SceUInt32 sector, const void *buffer, SceUInt32 sector_count)
 Write SD sectors.
 
int ksceSdifMemoryCardEnableSlowMode (void)
 Enable slow-mode delays for controller 1 MMC transfers.
 
int ksceSdifMemoryCardDisableSlowMode (void)
 Disable slow-mode delays for controller 1 MMC transfers.