WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
disk_pri.h 文件参考
#include "disk.h"
#include "los_mux.h"
disk_pri.h 的引用(Include)关系图:

浏览源代码.

宏定义

#define DISK_MAX_SECTOR_SIZE   512
 
#define PAR_OFFSET   446 /* MBR: Partition table offset (2) */
 
#define BS_SIG55AA   510 /* Signature word (2) */
 
#define BS_FILSYSTEMTYPE32   82 /* File system type (1) */
 
#define BS_JMPBOOT   0 /* x86 jump instruction (3-byte) */
 
#define BS_FILSYSTYPE   0x36 /* File system type (2) */
 
#define BS_SIG55AA_VALUE   0xAA55
 
#define PAR_TYPE_OFFSET   4
 
#define PAR_START_OFFSET   8
 
#define PAR_COUNT_OFFSET   12
 
#define PAR_TABLE_SIZE   16
 
#define EXTENDED_PAR   0x0F
 
#define EXTENDED_8G   0x05
 
#define BS_FS_TYPE_MASK   0xFFFFFF
 
#define BS_FS_TYPE_VALUE   0x544146
 
#define BS_FS_TYPE_FAT   0x0B
 
#define BS_FS_TYPE_NTFS   0x07
 
#define FIRST_BYTE   1
 
#define SECOND_BYTE   2
 
#define THIRD_BYTE   3
 
#define FOURTH_BYTE   4
 
#define BIT_FOR_BYTE   8
 
#define LD_WORD_DISK(ptr)
 
#define LD_DWORD_DISK(ptr)
 
#define LD_QWORD_DISK(ptr)
 
#define VERIFY_FS(ptr)
 
#define PARTION_MODE_BTYE   (PAR_OFFSET + PAR_TYPE_OFFSET) /* 0xEE: GPT(GUID), else: MBR */
 
#define PARTION_MODE_GPT   0xEE /* 0xEE: GPT(GUID), else: MBR */
 
#define SIGNATURE_OFFSET   0 /* The offset of GPT partition header signature */
 
#define SIGNATURE_LEN   8 /* The length of GPT signature */
 
#define HEADER_SIZE_OFFSET   12 /* The offset of GPT header size */
 
#define TABLE_SIZE_OFFSET   84 /* The offset of GPT table size */
 
#define TABLE_NUM_OFFSET   80 /* The number of GPT table */
 
#define TABLE_START_SECTOR   2
 
#define TABLE_MAX_NUM   128
 
#define TABLE_SIZE   128
 
#define GPT_PAR_START_OFFSET   32
 
#define GPT_PAR_END_OFFSET   40
 
#define PAR_ENTRY_NUM_PER_SECTOR   4
 
#define HEADER_SIZE_MASK   0xFFFFFFFF
 
#define HEADER_SIZE   0x5C
 
#define HARD_DISK_GUID_OFFSET   56
 
#define HARD_DISK_GUID_FOR_ESP   0x0020004900460045
 
#define HARD_DISK_GUID_FOR_MSP   0x007200630069004D
 
#define PAR_VALID_OFFSET0   0
 
#define PAR_VALID_OFFSET1   4
 
#define PAR_VALID_OFFSET2   8
 
#define PAR_VALID_OFFSET3   12
 
#define VERIFY_GPT(ptr)
 
#define VERITY_PAR_VALID(ptr)
 
#define VERITY_AVAILABLE_PAR(ptr)
 
#define DISK_LOCK(disk)
 
#define DISK_UNLOCK(disk)
 

类型定义

typedef enum _disk_status_ disk_status_e
 

枚举

enum  _disk_status_ { STAT_UNUSED , STAT_INUSED , STAT_UNREADY , STAT_ONGOING }
 

函数

INT32 SetDiskPartName (los_part *part, const CHAR *src)
 
INT32 EraseDiskByID (UINT32 diskId, size_t startSector, UINT32 sectors)
 
BOOL IsBlockStatusReady (const struct inode *blkDriver)
 
VOID OsDiskInit (VOID)
 

宏定义说明

◆ BIT_FOR_BYTE

#define BIT_FOR_BYTE   8

◆ BS_FILSYSTEMTYPE32

#define BS_FILSYSTEMTYPE32   82 /* File system type (1) */

◆ BS_FILSYSTYPE

#define BS_FILSYSTYPE   0x36 /* File system type (2) */

◆ BS_FS_TYPE_FAT

#define BS_FS_TYPE_FAT   0x0B

◆ BS_FS_TYPE_MASK

#define BS_FS_TYPE_MASK   0xFFFFFF

◆ BS_FS_TYPE_NTFS

#define BS_FS_TYPE_NTFS   0x07

◆ BS_FS_TYPE_VALUE

#define BS_FS_TYPE_VALUE   0x544146

◆ BS_JMPBOOT

#define BS_JMPBOOT   0 /* x86 jump instruction (3-byte) */

◆ BS_SIG55AA

#define BS_SIG55AA   510 /* Signature word (2) */

◆ BS_SIG55AA_VALUE

#define BS_SIG55AA_VALUE   0xAA55

◆ DISK_LOCK

#define DISK_LOCK (   disk)
值:
do { \
UINT32 ret_ = LOS_MuxPend((disk)->disk_mutex, LOS_WAIT_FOREVER); \
if (ret_ != LOS_OK) { \
PRINT_ERR("%s %d, mutex lock failed, ret = 0x%x\n", \
__FUNCTION__, __LINE__, ret_); \
} \
} while (0)
#define LOS_WAIT_FOREVER
Definition los_base.h:90
UINT32 LOS_MuxPend(UINT32 muxHandle, UINT32 timeout)
Wait to lock a mutex.
#define LOS_OK
Definition los_typedef.h:122
unsigned int UINT32
Definition los_typedef.h:52

◆ DISK_MAX_SECTOR_SIZE

#define DISK_MAX_SECTOR_SIZE   512

◆ DISK_UNLOCK

#define DISK_UNLOCK (   disk)
值:
do { \
UINT32 ret_ = LOS_MuxPost((disk)->disk_mutex); \
if (ret_ != LOS_OK) { \
PRINT_ERR("%s %d, mutex unlock failed, ret: 0x%x\n", \
__FUNCTION__, __LINE__, ret_); \
} \
} while (0)
UINT32 LOS_MuxPost(UINT32 muxHandle)
Release a mutex.

◆ EXTENDED_8G

#define EXTENDED_8G   0x05

◆ EXTENDED_PAR

#define EXTENDED_PAR   0x0F

◆ FIRST_BYTE

#define FIRST_BYTE   1

◆ FOURTH_BYTE

#define FOURTH_BYTE   4

◆ GPT_PAR_END_OFFSET

#define GPT_PAR_END_OFFSET   40

◆ GPT_PAR_START_OFFSET

#define GPT_PAR_START_OFFSET   32

◆ HARD_DISK_GUID_FOR_ESP

#define HARD_DISK_GUID_FOR_ESP   0x0020004900460045

◆ HARD_DISK_GUID_FOR_MSP

#define HARD_DISK_GUID_FOR_MSP   0x007200630069004D

◆ HARD_DISK_GUID_OFFSET

#define HARD_DISK_GUID_OFFSET   56

◆ HEADER_SIZE

#define HEADER_SIZE   0x5C

◆ HEADER_SIZE_MASK

#define HEADER_SIZE_MASK   0xFFFFFFFF

◆ HEADER_SIZE_OFFSET

#define HEADER_SIZE_OFFSET   12 /* The offset of GPT header size */

◆ LD_DWORD_DISK

#define LD_DWORD_DISK (   ptr)
值:
(UINT32)(((UINT32)*((UINT8 *)(ptr) + THIRD_BYTE) << (BIT_FOR_BYTE * THIRD_BYTE)) | \
((UINT32)*((UINT8 *)(ptr) + SECOND_BYTE) << (BIT_FOR_BYTE * SECOND_BYTE)) | \
((UINT16)*((UINT8 *)(ptr) + FIRST_BYTE) << (BIT_FOR_BYTE * FIRST_BYTE)) | \
(*(UINT8 *)(ptr)))
#define BIT_FOR_BYTE
Definition disk_pri.h:70
#define SECOND_BYTE
Definition disk_pri.h:66
#define FIRST_BYTE
Definition disk_pri.h:65
#define THIRD_BYTE
Definition disk_pri.h:67
unsigned short UINT16
Definition los_typedef.h:51
unsigned char UINT8
Definition los_typedef.h:50

◆ LD_QWORD_DISK

#define LD_QWORD_DISK (   ptr)
值:
LD_DWORD_DISK(ptr)))
#define LD_DWORD_DISK(ptr)
Definition disk_pri.h:74
#define FOURTH_BYTE
Definition disk_pri.h:68
unsigned long long UINT64
Definition los_typedef.h:72

◆ LD_WORD_DISK

#define LD_WORD_DISK (   ptr)
值:
(UINT16)(((UINT16)*((UINT8 *)(ptr) + FIRST_BYTE) << (BIT_FOR_BYTE * FIRST_BYTE)) | \
(UINT16)*(UINT8 *)(ptr))

◆ PAR_COUNT_OFFSET

#define PAR_COUNT_OFFSET   12

◆ PAR_ENTRY_NUM_PER_SECTOR

#define PAR_ENTRY_NUM_PER_SECTOR   4

◆ PAR_OFFSET

#define PAR_OFFSET   446 /* MBR: Partition table offset (2) */

◆ PAR_START_OFFSET

#define PAR_START_OFFSET   8

◆ PAR_TABLE_SIZE

#define PAR_TABLE_SIZE   16

◆ PAR_TYPE_OFFSET

#define PAR_TYPE_OFFSET   4

◆ PAR_VALID_OFFSET0

#define PAR_VALID_OFFSET0   0

◆ PAR_VALID_OFFSET1

#define PAR_VALID_OFFSET1   4

◆ PAR_VALID_OFFSET2

#define PAR_VALID_OFFSET2   8

◆ PAR_VALID_OFFSET3

#define PAR_VALID_OFFSET3   12

◆ PARTION_MODE_BTYE

#define PARTION_MODE_BTYE   (PAR_OFFSET + PAR_TYPE_OFFSET) /* 0xEE: GPT(GUID), else: MBR */

◆ PARTION_MODE_GPT

#define PARTION_MODE_GPT   0xEE /* 0xEE: GPT(GUID), else: MBR */

◆ SECOND_BYTE

#define SECOND_BYTE   2

◆ SIGNATURE_LEN

#define SIGNATURE_LEN   8 /* The length of GPT signature */

◆ SIGNATURE_OFFSET

#define SIGNATURE_OFFSET   0 /* The offset of GPT partition header signature */

◆ TABLE_MAX_NUM

#define TABLE_MAX_NUM   128

◆ TABLE_NUM_OFFSET

#define TABLE_NUM_OFFSET   80 /* The number of GPT table */

◆ TABLE_SIZE

#define TABLE_SIZE   128

◆ TABLE_SIZE_OFFSET

#define TABLE_SIZE_OFFSET   84 /* The offset of GPT table size */

◆ TABLE_START_SECTOR

#define TABLE_START_SECTOR   2

◆ THIRD_BYTE

#define THIRD_BYTE   3

◆ VERIFY_FS

#define VERIFY_FS (   ptr)
值:
!strncmp(&(ptr)[BS_FILSYSTYPE], "FAT", strlen("FAT")) || \
!strncmp(&(ptr)[BS_JMPBOOT], "\xEB\x52\x90" "NTFS ", \
strlen("\xEB\x52\x90" "NTFS ")))
#define BS_FS_TYPE_MASK
Definition disk_pri.h:60
#define BS_FS_TYPE_VALUE
Definition disk_pri.h:61
#define BS_FILSYSTEMTYPE32
Definition disk_pri.h:48
#define BS_JMPBOOT
Definition disk_pri.h:49
#define BS_FILSYSTYPE
Definition disk_pri.h:50

◆ VERIFY_GPT

#define VERIFY_GPT (   ptr)
值:
((!strncmp(&(ptr)[SIGNATURE_OFFSET], "EFI PART", SIGNATURE_LEN)) && \
#define SIGNATURE_OFFSET
Definition disk_pri.h:90
#define HEADER_SIZE_MASK
Definition disk_pri.h:101
#define HEADER_SIZE_OFFSET
Definition disk_pri.h:92
#define HEADER_SIZE
Definition disk_pri.h:102
#define SIGNATURE_LEN
Definition disk_pri.h:91

◆ VERITY_AVAILABLE_PAR

#define VERITY_AVAILABLE_PAR (   ptr)
值:
#define HARD_DISK_GUID_OFFSET
Definition disk_pri.h:103
#define LD_QWORD_DISK(ptr)
Definition disk_pri.h:79
#define HARD_DISK_GUID_FOR_MSP
Definition disk_pri.h:105
#define HARD_DISK_GUID_FOR_ESP
Definition disk_pri.h:104

◆ VERITY_PAR_VALID

#define VERITY_PAR_VALID (   ptr)
值:
LD_DWORD_DISK(&(ptr)[PAR_VALID_OFFSET1]) + \
LD_DWORD_DISK(&(ptr)[PAR_VALID_OFFSET2]) + \
LD_DWORD_DISK(&(ptr)[PAR_VALID_OFFSET3])) != 0)
#define PAR_VALID_OFFSET0
Definition disk_pri.h:106
#define PAR_VALID_OFFSET1
Definition disk_pri.h:107
#define PAR_VALID_OFFSET3
Definition disk_pri.h:109
#define PAR_VALID_OFFSET2
Definition disk_pri.h:108

类型定义说明

◆ disk_status_e

枚举类型说明

◆ _disk_status_

枚举值
STAT_UNUSED 
STAT_INUSED 
STAT_UNREADY 
STAT_ONGOING 

函数说明

◆ EraseDiskByID()

INT32 EraseDiskByID ( UINT32  diskId,
size_t  startSector,
UINT32  sectors 
)
extern

◆ IsBlockStatusReady()

BOOL IsBlockStatusReady ( const struct inode *  blkDriver)
extern

◆ OsDiskInit()

VOID OsDiskInit ( VOID  )
extern

◆ SetDiskPartName()

INT32 SetDiskPartName ( los_part part,
const CHAR src 
)
extern