📄 osfile.c
字号:
Together(OS_FileCloseAll, NOT_RUN, RETURN_OK);
}
/*********************************************************************************************************
** 函数名称: OSFileEof
** 功能描述: 判断文件是否到读\写到文件尾
**
** 输 入: Handle:文件句柄
**
** 输 出: 0:否
** 1:是
** 全局变量:
** 调用模块: OSQPost
**
** 作 者: 陈明计
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
uint8 OSFileEof(HANDLE Handle)
{
OSFileParameter Temp;
uint8 err, ThisRt;
Temp.P1.Handle = Handle;
Together(OS_FileEof, NOT_RUN, Temp.P1.Puint8);
}
/*********************************************************************************************************
** 函数名称: OSFileSeek
** 功能描述: 移动文件读\写位置
**
** 输 入: Handle:文件句柄
** offset:移动偏移量
** Whence:移动模式SEEK_SET:从文件头计算SEEK_CUR:从当前位置计算SEEK_END:从文件尾计算
** 输 出: 无
**
** 全局变量:
** 调用模块: OSQPost
**
** 作 者: 陈明计
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
uint8 OSFileSeek(HANDLE Handle, int32 offset, uint8 Whence)
{
OSFileParameter Temp;
uint8 err, ThisRt;
Temp.P1.Handle = Handle;
Temp.P2.Pint32 = offset;
Temp.P3.Puint8 = Whence;
Together(OS_FileSeek, NOT_RUN, Temp.P1.Puint8);
}
/*********************************************************************************************************/
/*********************************************************************************************************
** 函数名称: OSMakeDir
** 功能描述: 建立目录
**
** 输 入: Path:绝对路径名
**
** 输 出: RETURN_OK:成功
** 其它参考fat.h中关于返回值的说明
** 全局变量:
** 调用模块: OSQPost
**
** 作 者: 陈明计
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
uint8 OSMakeDir(char *Path)
{
OSFileParameter Temp;
uint8 err, ThisRt;
Temp.P1.cp = Path;
Together(OS_MakeDir, NOT_RUN, Temp.P1.Puint8);
}
/*********************************************************************************************************
** 函数名称: OSRemoveDir
** 功能描述: 删除目录
**
** 输 入: Path:绝对路径名
**
** 输 出: RETURN_OK:成功
** 其它参考fat.h中关于返回值的说明
** 全局变量:
** 调用模块: OSQPost
**
** 作 者: 陈明计
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
uint8 OSRemoveDir(char *Path)
{
OSFileParameter Temp;
uint8 err, ThisRt;
Temp.P1.cp = Path;
Together(OS_RemoveDir, NOT_RUN, Temp.P1.Puint8);
}
/*********************************************************************************************************
** 函数名称: OSChangeDir
** 功能描述: 改变当前目录
**
** 输 入: Path:路径名
**
** 输 出: RETURN_OK:成功
** 其它参考fat.h中关于返回值的说明
** 全局变量:
** 调用模块: OSQPost
**
** 作 者: 陈明计
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
uint8 OSChangeDir(char *Path)
{
OSFileParameter Temp;
uint8 err, ThisRt;
Temp.P1.cp = Path;
Together(OS_ChangeDir, NOT_RUN, Temp.P1.Puint8);
}
/*********************************************************************************************************
** 函数名称: OSGetDrive
** 功能描述: 获取指定目录的驱动器
**
** 输 入: Path:路径名
**
** 输 出: 驱动器号
**
** 全局变量:
** 调用模块: OSQPost
**
** 作 者: 陈明计
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
uint8 OSGetDrive(char *Path)
{
OSFileParameter Temp;
uint8 err, ThisRt;
Temp.P1.cp = Path;
Together(OS_GetDrive, NOT_RUN, Temp.P1.Puint8);
}
/*********************************************************************************************************
** 函数名称: OSChangeDrive
** 功能描述: 改变当前逻辑盘
**
** 输 入: Drive:逻辑盘符字符串
**
** 输 出: RETURN_OK:成功
** NOT_FIND_DISK:逻辑盘不存在
** PARAMETER_ERR:非法参数
** 全局变量:
** 调用模块: OSQPost
**
** 作 者: 陈明计
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
uint8 OSChangeDrive(char *Drive)
{
OSFileParameter Temp;
uint8 err, ThisRt;
Temp.P1.cp = Drive;
Together(OS_ChangeDrive, NOT_RUN, Temp.P1.Puint8);
}
/*********************************************************************************************************
** 函数名称: OSmount
** 功能描述: 加载卷(已分配盘符),允许读写。
**
** 输 入: DriveName:包含逻辑盘的字符串
**
** 输 出: RETURN_OK:成功
** 其它参考fat.h中关于返回值的说明
**
** 作 者: 陈明计
** 日 期: 2004年12月31日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
uint8 OSmount(char *DriveName)
{
OSFileParameter Temp;
uint8 err, ThisRt;
Temp.P1.cp = DriveName;
Together(OS_mount, NOT_RUN, Temp.P1.Puint8);
}
/*********************************************************************************************************
** 函数名称: OSumount
** 功能描述: 卸载卷(已分配盘符),禁止读写。
**
** 输 入: DriveName:包含逻辑盘的字符串
**
** 输 出: RETURN_OK:成功
** 其它参考fat.h中关于返回值的说明
**
** 作 者: 陈明计
** 日 期: 2004年12月31日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
uint8 OSumount(char *DriveName)
{
OSFileParameter Temp;
uint8 err, ThisRt;
Temp.P1.cp = DriveName;
Together(OS_umount, NOT_RUN, Temp.P1.Puint8);
}
/*********************************************************************************************************/
/*********************************************************************************************************
** 函数名称: OSGetFDTInfo
** 功能描述: 获取指定目录指定文件(目录)信息
**
** 输 入: Rt:存储返回信息的指针
** Drive:驱动器号
** ClusIndex:目录首簇号
** Index:文件(目录)在FDT中的位置
** 输 出: RETURN_OK:成功
** 其它参考fat.h中关于返回值的说明
** 全局变量:
** 调用模块: OSQPost
**
** 作 者: 陈明计
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
uint8 OSGetFDTInfo(FDT *Rt,uint8 Drive, uint32 ClusIndex, uint32 Index)
{
OSFileParameter Temp;
uint8 err, ThisRt;
Temp.P1.Pvp= (void *)Rt;
Temp.P2.Puint8= Drive;
Temp.P3.Puint32= ClusIndex;
Temp.P4.Puint32= Index;
Together(OS_GetFDTInfo, NOT_RUN, Temp.P1.Puint8);
}
/*********************************************************************************************************/
/*********************************************************************************************************
** 函数名称: OSAddFileDriver
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -