root.h

来自「ST5518机顶盒系统文件系统源代码!绝对超值!」· C头文件 代码 · 共 76 行

H
76
字号
/******************************************************************************File Name   : root.hDescription : Functions for manipulating the root sector.******************************************************************************/#ifndef  ROOT_H#define  ROOT_H    /* Includes ------------------------------------------------------------ */#include "stcommon.h"#include "stavfs.h"#include "internal.h"#include "avdevice.h"    /* Exported Types ------------------------------------------------------ *//* Structure defining the layout of a partitions root sector   in the first sector in a partition's space */typedef struct{    U16  Unused16_1;     /* Set to zero */    U8   Unused8_1;    char Name[9];        /* Partition name */    U32  Version;        /* Revision of the disk image */    U16  ClusterSize;    /* in sectors */    U16  TrackSize;      /* in clusters - reserved - set to 255 */    U16  StateFlags;     /* 0x0001 - file sys in use */    U16  Flags;          /* reserved - Set to Zero */    U64  DataStart;      /* first LBA (sector) of data */    U64  DataSize;       /* in clusters */    U64  DirStart;       /* first LBA (sector) filetable */    U64  Unused64[64-7]; /* reserved - Set to Zero */    U32  Unused32_1;     /* reserved - Set to Zero */    U32  CRC;            /* CRC check value */     } stavfs_RootSector_t;    /* Exported Constants -------------------------------------------------- */#define IMAGE_VERSION              (0X00000002)  /* Revision of the disk image */#define CLUSTER_IMAGE              (0X80000000)  /* Cluster based disk image   */#ifndef STAVFS_NO_BACKUP_ON_WRITE#define BACKUP_ON_WRITE            (0X40000000)  /* Support for backup on write */#else#define BACKUP_ON_WRITE            (0X00000000)  /* No support for backup on write */#endif#define ROOT_PARTITION_VERSION     (IMAGE_VERSION    | \                                    CLUSTER_IMAGE    | \                                    BACKUP_ON_WRITE)#define ROOT_PARTITION_FLAG_INUSE  (0X0001)#define ROOT_PARTITION_FLAG_BAD    (0X0002)#define PARTITION_NAME             "STAVFS"    /* Exported Variables -------------------------------------------------- */    /* Exported Macros ----------------------------------------------------- */    /* Exported Function Prototypes ---------------------------------------- */ST_ErrorCode_t stavfs_ReadRootSector (stavfs_Device_t *Device, stavfs_RootSector_t *RootSector);ST_ErrorCode_t stavfs_WriteRootSector(stavfs_Device_t *Device, stavfs_RootSector_t *RootSector);int stavfs_DoBufferCRC(char *Buff, int Length, U32 *CRCRemainder);#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?