sdif.h
1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#ifndef __SDIF_H__
#define __SDIF_H__
typedef enum {
enCARD_UNKOWN,
enCARD_SDMEM,
enCARD_SDIO,
enCARD_SDCOMBO,
enCARD_MMC
} enCARD_TYPE;
typedef struct {
U8 cardType;
U8 SDHC;
U32 capacity;
U16 blkSize;
} SD_CARD_INFO;
#define SD_DEVICE sdif_init, \
sdif_fini, \
sdif_open, \
sdif_close, \
sdif_writeBlocks, \
sdif_readBlocks, \
sdif_getCapacity, \
sdif_Get_Media, \
sdif_Erase, \
sdif_Format_Unit, \
sdif_Get_Format_Propgress,\
sdif_getSectorSize, \
sdif_Media_Active
int sdif_preinit(void);
BOOL sdif_init(void);
BOOL sdif_open(void);
BOOL sdif_close(void);
BOOL sdif_fini(void);
U16 sdif_writeBlocks( U8 *buf, U32 lba, U16 blkcnt );
U16 sdif_readBlocks( U8 *buf, U32 lba, U16 blkcnt );
U32 sdif_getCapacity (void);
U16 sdif_getBlockSize(void);
WORD sdif_Get_Media (void);
BOOL sdif_Erase (DWORD sector_addr, DWORD len);
BOOL sdif_Format_Unit (void);
BOOL sdif_Get_Format_Propgress (BYTE *format_progress);
BOOL sdif_Media_Active (void);
U16 sdif_getSectorSize(void);
SD_CARD_INFO *sdif_getCardInfo(void);
int sdif_isCardPresent( void );
int sdif_errRecover( void );
typedef enum {
enWP_NOCARD,
enWP_NONE,
enWP_MECHANICAL,
enWP_SOFT
} enum_CARD_WP;
int sdif_isCardWP( int *wp );
void sdif_icallback_cardInsert( void );
void sdif_icallback_cardRemove( void );
#endif