|
|
|
|
/****************************************************************************
|
|
|
|
|
* FileName : DSFileSystem.h *
|
|
|
|
|
* Programmer : AAAwen *
|
|
|
|
|
* Writen at : 2005.05.10 *
|
|
|
|
|
* Version : 1.0 *
|
|
|
|
|
* Description: define filesystem of flash *
|
|
|
|
|
* Last modify: 2005.05.10 *
|
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
|
#ifndef __DSFILESYSTEM_H_ICL__
|
|
|
|
|
#define __DSFILESYSTEM_H_ICL__
|
|
|
|
|
#include "basetype.h"
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
|
|
//typedef char* HDSFILE;
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
#define SEEK_CLR_RCNT SEEK_END+10
|
|
|
|
|
#define SEEK_CUR_EX SEEK_END+11
|
|
|
|
|
|
|
|
|
|
// <20><EFBFBD>DS<44>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ϵͳ
|
|
|
|
|
#define DS_FILESYSTEM_ADDR 0x3b0000
|
|
|
|
|
#define DS_FILESYSTEM_LEN (0x50000-4)
|
|
|
|
|
|
|
|
|
|
#define DS_SECTION_OUT -1 // <20><><EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>Խ<EFBFBD><D4BD>
|
|
|
|
|
#define DS_SECTION_NOEXIST 0 // <20><><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
#define DS_SECTION_EXIST 1 // <20><><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD>
|
|
|
|
|
#define DS_SECTION_SEARCH 2 // <20><><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>
|
|
|
|
|
|
|
|
|
|
typedef struct tsgDSFILE
|
|
|
|
|
{
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
long m_lContentLen;
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ĵ<EFBFBD>ǰλ<EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
long m_lOffset;
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
long m_lReadCount;
|
|
|
|
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ȡ<EFBFBD><C8A1>
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
long m_lSectionOk;
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
long m_lSectionLines;
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>ʶ
|
|
|
|
|
*/
|
|
|
|
|
long m_lSectionLinesAddFlag;
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>е<EFBFBD>ƫ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
long m_lSectionOffset;
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
char m_szSection[64];
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
char *m_pContent;
|
|
|
|
|
}DSFILE, *HDSFILE;
|
|
|
|
|
|
|
|
|
|
#ifdef OS_WINDOWS
|
|
|
|
|
#pragma pack (push,1)
|
|
|
|
|
typedef struct tagDSFILESYSTEMHEAD
|
|
|
|
|
{
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
int m_iFiles;
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ƫ<EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>=this+m_iOffset
|
|
|
|
|
*/
|
|
|
|
|
int m_iOffset;
|
|
|
|
|
}DSFILESYSTEMHEAD;
|
|
|
|
|
|
|
|
|
|
typedef struct tagDSFILEHEAD
|
|
|
|
|
{
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD>ļ<EFBFBD>ͷ)
|
|
|
|
|
*/
|
|
|
|
|
int m_iFileSize;
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
int m_iOffset;
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
int m_iFileNameLen;
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
char m_FileName[1];
|
|
|
|
|
}DSFILEHEAD, *pDSFILEHEAD;
|
|
|
|
|
|
|
|
|
|
typedef struct tagFILECONTENT
|
|
|
|
|
{
|
|
|
|
|
long m_lContentLen;
|
|
|
|
|
long m_lOffset;
|
|
|
|
|
char m_pContent[1];
|
|
|
|
|
}FILECONTENT, *pFILECONTENT;
|
|
|
|
|
#pragma pack (pop)
|
|
|
|
|
#else
|
|
|
|
|
typedef struct tagDSFILESYSTEMHEAD
|
|
|
|
|
{
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
int m_iFiles ;
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ƫ<EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>=this+m_iOffset
|
|
|
|
|
*/
|
|
|
|
|
int m_iOffset ;
|
|
|
|
|
}DSFILESYSTEMHEAD;
|
|
|
|
|
|
|
|
|
|
typedef struct tagDSFILEHEAD
|
|
|
|
|
{
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD>ļ<EFBFBD>ͷ)
|
|
|
|
|
*/
|
|
|
|
|
int m_iFileSize ;
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
int m_iOffset ;
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
int m_iFileNameLen ;
|
|
|
|
|
/*!
|
|
|
|
|
<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
char m_FileName[1] ;
|
|
|
|
|
}DSFILEHEAD, *pDSFILEHEAD;
|
|
|
|
|
|
|
|
|
|
typedef struct tagFILECONTENT
|
|
|
|
|
{
|
|
|
|
|
long m_lContentLen ;
|
|
|
|
|
long m_lOffset ;
|
|
|
|
|
char m_pContent[1] ;
|
|
|
|
|
}FILECONTENT, *pFILECONTENT;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
|
|
|
|
\param szFileName -- Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param ppDestMem -- Ŀ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ泤<EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>Ϊ<EFBFBD>շ<EFBFBD><EFBFBD><EFBFBD>0\n
|
|
|
|
|
pDestMem<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ú<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
long LoadFile(const char *szFileName, char **ppDestMem);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
|
|
|
|
\param szFileName -- Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param ppDestMem -- Ŀ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\param pFSAddr -- <EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD><EFBFBD>ַָ<EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ泤<EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>Ϊ<EFBFBD>շ<EFBFBD><EFBFBD><EFBFBD>0\n
|
|
|
|
|
pDestMem<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ú<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
long LoadFileInDSFS(const char *szFileName, char **ppDestMem, BYTE *pFSAddr);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param stream -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\param offset -- <EFBFBD><EFBFBD>origin<EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD>ֵ
|
|
|
|
|
\param origin -- <EFBFBD><EFBFBD>ʼλ<EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API int DS_Seek(FILECONTENT *stream, long offset, int origin);
|
|
|
|
|
DSLIB_API char *DS_Gets(char *pDest, int iDestMax, FILECONTENT *stream);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param fp -- <EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API int GetFileLen(FILE *fp);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
|
|
|
|
\param szFileName -- Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>Ϊ<EFBFBD>շ<EFBFBD><EFBFBD><EFBFBD>0\n
|
|
|
|
|
pDestMem<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ú<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API HDSFILE DSOpenFile(const char *szFileName);
|
|
|
|
|
DSLIB_API HDSFILE DSOpenFileEx(const char *szFileName);
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>
|
|
|
|
|
\param szRootDir -- <EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD>ĸ<EFBFBD>·<EFBFBD><EFBFBD>
|
|
|
|
|
\param szFileName -- Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>Ϊ<EFBFBD>շ<EFBFBD><EFBFBD><EFBFBD>0\n
|
|
|
|
|
pDestMem<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ú<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
|
|
|
|
|
<EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʺ<EFBFBD><EFBFBD><EFBFBD>pcϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
<EFBFBD><EFBFBD>Ƕ<EFBFBD><EFBFBD>ʽϵͳ<EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API HDSFILE DSOpenFileEx3(const char *szRootDir, const char *szFileName);
|
|
|
|
|
DSLIB_API HDSFILE DSOpenFileEx2(const char *szRootDir, const char *szFSName, const char *szFileName);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD>رմ<EFBFBD><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
\param hFile -- <EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>Ϊ<EFBFBD>շ<EFBFBD><EFBFBD><EFBFBD>0\n
|
|
|
|
|
pDestMem<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ú<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API BOOL DSCloseFile(HDSFILE hFile);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param buffer -- <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\param size -- <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>Ԫ<EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param count -- <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param hFile -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ʵĶ<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API size_t DSfread(void *buffer, size_t size, size_t count, HDSFILE hFile);
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>(<EFBFBD>Իس<EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
\param string -- <EFBFBD><EFBFBD>ȡ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\param origin -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param hFile -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API char *DSfgets(char *string, int iMaxSize, HDSFILE hFile);
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>(<EFBFBD>Իس<EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
\param string -- <EFBFBD><EFBFBD>ȡ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\param origin -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param hFile -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\param ioffset -- <EFBFBD><EFBFBD>ǰλ<EFBFBD>ö<EFBFBD>ȡƫ<EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD><EFBFBD>ȡָ<EFBFBD>벻<EFBFBD>ƶ<EFBFBD>,<EFBFBD><EFBFBD>Ҫ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>Ԥ
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API char *DSfgetsEx(char *string, int iMaxSize, HDSFILE hFile);
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param hFile -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- ʵ<EFBFBD>ʶ<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API int DSfgetreadcount(HDSFILE hFile);
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param hFile -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\param offset -- <EFBFBD><EFBFBD>origin<EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD>ֵ
|
|
|
|
|
\param origin -- <EFBFBD><EFBFBD>ʼλ<EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API int DSfseek(HDSFILE hFile, long offset, int origin);
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD>
|
|
|
|
|
\param hFile -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API int DSfeof(HDSFILE hFile);
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD>
|
|
|
|
|
\param hFile -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API int DSfeofEx(HDSFILE hFile);
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param hFile -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API int DSfeob(HDSFILE hFile);
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param hFile -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API int DSftell(HDSFILE hFile);
|
|
|
|
|
DSLIB_API int DSHaveSection(char *pSection, HDSFILE hFile);
|
|
|
|
|
DSLIB_API int DSSaveSectionOffset(HDSFILE hFile);
|
|
|
|
|
DSLIB_API int DSRestoreSectionOffset(HDSFILE hFile);
|
|
|
|
|
DSLIB_API int DSAddSectionLines(int iLines, HDSFILE hFile);
|
|
|
|
|
DSLIB_API int DSSubSectionLines(int iLines, HDSFILE hFile);
|
|
|
|
|
DSLIB_API int DSSetSectionLinesAddFlag(int iFlag, HDSFILE hFile);
|
|
|
|
|
DSLIB_API int DSSectionisOver(int iReadLines, HDSFILE hFile);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
\param szListFileName -- Ҫ<EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>б<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param szDestFileName -- <EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
\param szDestDir -- <EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TRUE
|
|
|
|
|
\note
|
|
|
|
|
<EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ż<EFBFBD>ֽڶ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API BOOL FsCombinAllFile(const char *szListFileName, const char *szDestFileName, const char *szDestDir);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param szCombinFile -- <EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param szDestDir -- Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>Ŀ¼
|
|
|
|
|
\retval -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TRUE
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API BOOL FsSplitAllFile(const char *szCombinFile, const char *szDestDir);
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>(<EFBFBD>ļ<EFBFBD>ϵͳ)
|
|
|
|
|
\param szCombinFile -- <EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TRUE
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API BYTE *FsReadCombinFile(const char *szCombinFile);
|
|
|
|
|
DSLIB_API BYTE *FsReadCombinFileEx(const char *szCombinFile);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief װ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ϵͳ
|
|
|
|
|
\param szFileSystem -- <EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param ppDestBuf -- <EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD><EFBFBD>Ŀ<EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TRUE
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API BOOL FsLoadFileSystem(const char *szFileSystem, BYTE **ppDestBuf);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief ж<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ϵͳ
|
|
|
|
|
\param ppDestBuf -- <EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD><EFBFBD>Ŀ<EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\retval -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TRUE
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API BOOL FsUnLoadFileSystem(BYTE **ppDestBuf);
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
\brief <EFBFBD><EFBFBD>ʾָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ϵͳ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
\param szPath -- Ҫ<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ϵͳ·<EFBFBD><EFBFBD>
|
|
|
|
|
\param szFileSystem -- ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ϵͳ
|
|
|
|
|
\retval -- <EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TRUE
|
|
|
|
|
*/
|
|
|
|
|
DSLIB_API BOOL FsDirFileName(const char *szPath, const char *szFileSystem);
|
|
|
|
|
|
|
|
|
|
DSLIB_API void FsDispHead(const char *szName, const char *szFileSystem);
|
|
|
|
|
|
|
|
|
|
BOOL FsNetToHost(BYTE *pFSBuf);
|
|
|
|
|
BOOL FsHostToNet(BYTE *pFSBuf);
|
|
|
|
|
|
|
|
|
|
void DispMemoryData(const BYTE *pu8Addr, int iLen, int iNumofLine);
|
|
|
|
|
#endif
|