⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dosfsfatp.h

📁 用于EQUATOR处理器上的FAT32文件系统(vxWorks5.5)
💻 H
字号:
/* dosFsFatP.h - DOS file system FAT module header file*/
 
/* Copyright 1999 Wind River Systems, Inc. */
 
/* 
modification history 
-------------------- 
01d,31jul99,jkf T2 merge, tidiness & spelling.
01c,23sep98,vld field <syncEnabled> added to structure MS_FAT_DESC
01b,20sep98,mjc descriptor structure name changed from DOS_FAT16_DESC
		to MS_FAT_DESC
01a,23feb98,mjc written, preliminary 
*/

#ifndef __INCdosFath
#define __INCdosFath

#ifdef __cplusplus
extern "C" {
#endif

#include "private/dosFsLibP.h"


/* defines */

/* conversions of sector <-> cluster numbers */

#define CLUST_TO_SEC( pVolDesc, clustNum )                                  \
                ( ((clustNum) - DOS_MIN_CLUST) * (pVolDesc)->secPerClust +  \
                  (pVolDesc)->dataStartSec )

#define SEC_TO_CLUST( pVolDesc, secNum )                                    \
                                ( ((secNum) -  (pVolDesc)->dataStartSec) /  \
                                  (pVolDesc)->secPerClust + DOS_MIN_CLUST )


/* typedefs */

typedef enum fat_rw	{FAT_READ, FAT_WRITE_GROUP, FAT_WRITE_CLUST} FAT_RW;

typedef struct
    {
    DOS_FAT_DESC	dosFatDesc;	/* generic DOS FAT descriptor */

    uint32_t		(*entryRead)
				(DOS_FILE_DESC_ID pFd, uint32_t copyNum,
				uint32_t entry);
    STATUS		(*entryWrite)
				(DOS_FILE_DESC_ID pFd, uint32_t copyNum,
				uint32_t entry,
				uint32_t value);
#if FALSE
    uint8_t *		pFatBuf;	/* pointer to FAT buffer */
#endif
    uint32_t		fatStartSec;	/* FAT starting sector number */
    uint32_t		nFatEnts;	/* number of entries in FAT */
    uint32_t		fatEntFreeCnt;	/* count of free clusters */
    uint32_t		dos_fat_avail;	/* cluster is available: 0x0000 */
    uint32_t            dos_fat_reserv;	/* reserved cluster marker: 0xff(f)0 */
    uint32_t		dos_fat_bad;	/* bad cluster marker: 0xff(f)7 */
    uint32_t		dos_fat_eof;	/* end-of-file marker: 0xff(f)f */
    uint32_t		fatGroupSize;	/* size clusters */
    uint32_t		groupAllocStart;/* initialize to DOS_MIN_CLUST */
    uint32_t		clustAllocStart;/* initialize to DOS_MIN_CLUST */
    BOOL		syncEnabled;	/* FAT copies mirroring enabling */
    SEMAPHORE		allocSem;	/* semaphore to guard allocations */
    } MS_FAT_DESC;

typedef MS_FAT_DESC * MS_FAT_DESC_ID;


/* defines */


#ifdef __cplusplus
}
#endif

#endif /* __INCdosFath */

⌨️ 快捷键说明

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