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

📄 smc_file.h

📁 TELECHIPS MP3解决方案UMS实现源代码
💻 H
字号:
/**************************************************************************************
 *
 * TELECHIPS Co.
 * 
 * 3rd floor Heung-A 70-1 Samsung-dong, KangNam-ku, Seoul, Korea
 * ====================================================================================
 *
 * Name:        Hyun-Chul Hong
 * Phone:       82-2-3443-6792
 * E-mail:      hchong@telechips.com
 *
 * FILE NAME:   FILE.H
 *
 * DESCRIPTION:
 *       This is a Header File for File.c
 *
 *
 * FILE HISTORY:
 * 	Date: 2002.08.16	Start source coding		By Hyunchul Hong
 *
 *
 *
 **************************************************************************************/
 
#ifndef	_SMC_FILE_H_
#define	_SMC_FILE_H_


#ifdef	SMC_FILE_ONLY
#define	SMC_FILE_EXT
#else
#define	SMC_FILE_EXT extern
#endif

//**********************************************************
//*
//*		Include
//*
//**********************************************************
#include "SMC_FS.H"


//**********************************************************
//*
//*		Definition DosFilesystem
//*
//**********************************************************

#define HANDLE_NULL				0xFFFF

#define SEEK_BEGIN				0
#define SEEK_END				1
#define SEEK_CURRENT			2
#define SEEK_EOF				3

#define OPEN_R					0x0001		// Read Mode
#define OPEN_W					0x0002		// Write Mode
#define OPEN_C					0x0004		// Create Mode

#define	MAX_OPEN_FILE			3
	
#define	WITHOUT_FILENAME		0	
#define	WITH_FILENAME			1

#define MAX_FULL_PATHNAME		100
#define MAX_SUBDIRNAME			 11 		// Must Fixed by 11 
#define MAX_PARENTDIRNAME		MAX_FULL_PATHNAME-MAX_SUBDIRNAME


//**********************************************************
//*
//*		Definition DRIVE Error Code
//*				
//**********************************************************

typedef	unsigned int	SMC_FILE_ERROR;


//**********************************************************
//*
//*		Definition Struct
//*
//**********************************************************
//	Definition Type of variable
typedef unsigned char	f_u8;
typedef unsigned int	f_u16;
typedef unsigned long	f_u32;

//**********************************************************
//*
//*		Definition DosFilesystem Struct
//*
//**********************************************************
#pragma	packed on									// To align struct by 1byte

//extern 	struct DIRFILE_INFO;						// Define in SMC_FS.H

typedef	struct	_FILE {

	SMC_ENTRY_INFO	Entry;
	//unsigned char	FileName[8];
	//unsigned char	FileExt[3];	

	unsigned int	Used;
	unsigned int	DrvNum;
	unsigned long	OldReadBytes;	
	unsigned long	ReadBytes;
	unsigned long	Size;
	unsigned long	FstClus;
	unsigned long	CurClus;	
	unsigned long	CurOffset;		
	unsigned long	DirClus;	
			
} FILE;

#pragma	packed off
//**********************************************************
//*
//*		Global Variables
//*
//**********************************************************
#pragma	memory=data_seg(TCC730_INTERNAL)

SMC_FILE_EXT FILE		OpenFile[MAX_OPEN_FILE];	



#pragma memory=default
//**********************************************************
//*
//*		Definition FUNCTION
//*
//**********************************************************
extern SMC_FILE_ERROR	SMC_FILE_Init( void );
extern unsigned long	SMC_FILE_GetCurrentDirectory( f_u16 LogDrvNum, f_u8* PathName, f_u16 MaxLen, f_u8* Sector_Buffer );
extern unsigned long	SMC_FILE_ChangeDirectoryByCluster( f_u16 LogDrvNum, f_u32 Cluster );
extern unsigned long	SMC_FILE_ChangeDirectoryByCode( f_u16 LogDrvNum, code f_u8* DirPathName, f_u8* Sector_Buffer );
extern unsigned long	SMC_FILE_ChangeDirectory( f_u16 LogDrvNum, f_u8* DirPathName, f_u8* Sector_Buffer );
extern unsigned long	SMC_FILE_MakeDirectoryByCode( f_u16 LogDrvNum, code f_u8* DirPathName, f_u8* Sector_Buffer );
extern unsigned long	SMC_FILE_MakeDirectory( f_u16 LogDrvNum, f_u8* DirPathName, f_u8* Sector_Buffer );
extern SMC_FILE_ERROR	SMC_FILE_CreateFileByCode( f_u16 LogDrvNum, code f_u8* p_filename, F_HANDLE* p_handle, f_u8* Sector_Buffer );
extern SMC_FILE_ERROR	SMC_FILE_CreateFile( f_u16 LogDrvNum, f_u8* p_filename, F_HANDLE* p_handle, f_u8* Sector_Buffer );
extern SMC_FILE_ERROR	SMC_FILE_OpenFileByCode( f_u16 LogDrvNum, code f_u8* p_filename, f_u16 fopen_mode, F_HANDLE* p_handle, f_u8* Sector_Buffer );
extern SMC_FILE_ERROR	SMC_FILE_OpenFile( f_u16 LogDrvNum, f_u8* p_filename, f_u16 fopen_mode, F_HANDLE* p_handle, f_u8* Sector_Buffer );
extern SMC_FILE_ERROR	SMC_FILE_OpenFileWithGetFileInfo( struct DIRFILE_INFO* GetFileInfo, f_u16 fopen_mode,
														  F_HANDLE* p_handle, f_u8* Sector_Buffer );
extern unsigned long	SMC_FILE_SeekFile( F_HANDLE p_handle, f_u16 seek_mode, long offset, f_u8* Sector_Buffer );
extern unsigned long	SMC_FILE_ReadFile( F_HANDLE p_handle, f_u8* buffer, f_u32 readsize );
extern unsigned long	SMC_FILE_WriteFile( F_HANDLE p_handle, f_u8* buffer, f_u32 Writesize );
extern SMC_FILE_ERROR	SMC_FILE_DeleteFile( F_HANDLE p_handle, f_u8* Sector_Buffer );
extern SMC_FILE_ERROR	SMC_FILE_CloseFile( F_HANDLE p_handle, f_u8* Sector_Buffer );
extern unsigned long	SMC_FILE_GetSizeFile( F_HANDLE p_handle );





#endif

⌨️ 快捷键说明

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