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

📄 fs.h

📁 Sunplus 8202S source code.
💻 H
字号:
#ifndef __FS_H
#define __FS_H

#include "udf_167.h"

#ifdef DVD_SERVO
extern BYTE gbSrvDiscStatus;
#define DISC_IS_DVD()		(gbSrvDiscStatus&0x40)
#else
#define DISC_IS_DVD()		(0)
#endif


enum {
	UDF_FILE_OPENED = 1
};

enum {
	ERROR_FILE_NOT_FOUND          = -100,
		ERROR_FILE_ENTRY_FULL         = -101,
		ERROR_FILE_ENTRY_INVALID      = -102,
		ERROR_FILE_PATH               = -103,
		ERROR_FILE_SUBPATH_TOO_LONG   = -105,
		ERROR_FILE_MSF_INVALID        = -3,
		ERROR_PARAMETER               = -2,
		ERROR_GENERIC                 = -1
};

typedef struct {
    int bIsVAT;
    UINT32 FSD_Location; // File Set Descriptor Location
    UINT32 Partition_Location; // Partition Location
    UINT32 RootICB_Location;
    UINT32 DIR_Location;
    UINT32 VAT_Location;
    int nVATCount;
    int nVATOffset;
} UDFVolumeVariable;

extern UDFVolumeVariable UDFVol;
extern short_ad *pshort_ad;
extern UINT32 dVMG_LSN,dAMG_LSN;


// primitive
UINT16 udf_crc(UINT8 *data, UINT32 size, UINT16 crc);

int read_volume(void);
int  read_dir(UINT32 dir_icb, char *fn, UINT32 *picb);
int read_icb(UINT32 sector);

// top level
int fs_init(void);


#define  DVD_LBA    (0)
#define  DVD_VMGI   (1)
#define  DVD_VMGM   (2)
#define  DVD_VTSI   (3)
#define  DVD_VTSM   (4)
#define  DVD_VTSTT  (5)

int read_disc(UINT8, UINT8, UINT32);
void InitVariable();

#ifdef __SIM__
UINT8 *read_disc_loc(UINT8, UINT32, UINT32);
int read_disc_next(void);

#define read_disc_check(p)	\
	((((UINT8 *)(p)) - ((UINT8 *)(pwb)) > 2048) ? \
((p) -= 2048, read_disc_next()) : TRUE)

#endif //#ifdef __SIM__


#endif /* __FS_H */

⌨️ 快捷键说明

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