📄 filesys.h
字号:
//filesys.h
#define ulong unsigned long
#define uint unsigned int
#define uchar unsigned char
char ext_format_file(void);
/* 功能:格式化扩展文件系统。
返回:0——成功
-2——校验出错
-4——失败;
-5——没有flash
*/
char ext_create_file(char *filename,uchar rec_len,ulong rec_num,ulong *actual_num);
/* 功能:建立扩展文件。最多为30个,若超过则返回失败。
参数:*filename——文件名,文件名长度为1~11,若超过11,则取前11个字符,若空文件,则返回失败;
rec_len——该文件的记录长度,长度为1~255,若不符合则返回失败;如果要建立基础黑名单文件,该值应比黑名单记录多一个字节,比如黑名单长度10字节,则rec_len应为11;建议记录长度能整除8448,如66,这样的长度空间利用率最高。
rec_num——该文件要存的记录总数,该参数要求大于0,否则返回失败,若该记录数需要的空间大于flash的剩余空间,返回-6;
*actual_num——返回大于或等于rec_num的一个记录数,该数为建立的文件实际存放的最大记录数;
返回:0——成功;
-2——校验出错;
-3——文件系统未初始化;
-4——失败;
-6——失败(空间不足,此时actual_num返回该记录长度能建立的最大记录数)
*/
char ext_open_file(char *filename,uchar *file_id);
/* 功能:打开扩展文件。最多同时打开4个文件,若已经打开4个,则返回失败。
参数:*filename——文件名,文件名长度为1~11,若超过11,则取前11个字符,若空文件或文件不存在,则返回失败;
*file_id——打开的活动文件号,若打开成功,则返回1-4的值;
返回:0——成功;
-2——校验出错;
-3——文件系统未初始化;
-4——失败;
*/
char ext_close_file(uchar file_id);
/* 功能:关闭扩展文件系统。
参数:file_id——要关闭的活动文件号。file_id为1-4,否则返回失败,若该活动文件号并没有打开文件,返回失败。
返回:0——成功;
-2——校验出错;
-3——文件系统未初始化;
-4——失败;
*/
char ext_read_frec(uchar file_id,ulong start_frec_id,ulong frec_num,char *string,ulong *actual_num);
/* 功能:读扩展文件的记录。
参数:file_id——要读的活动文件号。file_id为1-4,否则返回失败,若该活动文件号并没有打开的文件,返回失败;
start_frec_id——要读的记录的起始记录号。该值不能等于0或者大于该文件的最大记录数,否则返回失败;
frec_num——要读的记录数。
*string——保存读取的记录数据。按要读的记录号顺序存放;
*actual_num——实际读取的记录数。该数为该文件满足记录号条件的记录。
返回:0——成功;
-2——校验出错;
-3——文件系统未初始化;
-4——失败;
*/
char ext_append_frec(uchar file_id,char *string);
/* 功能:添加扩展文件记录。记录总是添加在文件的最后一条。若文件的记录达到最大记录数,则返回失败(-7),同时该文件没有添加。
。
参数:file_id——要添加的活动文件号。file_id为1-4,否则返回失败,若该活动文件号并没有打开文件,返回失败;
*string——要添加的记录数据,不允许一条记录数据全部为0x00或者全部为0xff的数据,否则返回失败;
返回:0——成功;
-2——校验出错;
-3——文件系统未初始化;
-4——失败;
-7——失败(记录写满);
*/
char ext_modify_frec(uchar file_id,ulong frec_id,char *string);
/* 功能:修改扩展文件的记录。建议少作修改。
参数:file_id——要修改的活动文件号。file_id为1-4,否则返回失败,若该活动文件号并没有打开的文件,返回失败;
frec_id——要修改的记录号。该值不能等于0或者大于该文件已经存在的实际记录数,否则返回失败;
*string——记录数据。记录号为frec_id的记录数据将被*string的数据替换。
返回:0——成功;
-2——校验出错;
-3——文件系统未初始化;
-4——失败;
*/
char ext_clr_file(char *filename);
/* 功能:清除扩展文件的所有记录。执行该函数要求该文件必须关闭,若该文件为打开的状态,则返回失败。
参数:*filename——要清除记录的文件名,文件名长度为1~11,若超过11,则取前11个字符,若空文件或文件不存在,则返回失败;
返回:0——成功;
-2——校验出错;
-3——文件系统未初始化;
-4——失败;
*/
char ext_file_freespace(ulong *length);
/* 功能:查看扩展文件系统的剩余空间。
参数:*length——剩余空间的字节长度。该值并不一定可以被充分利用,视建立文件的记录长度决定。
返回:0——成功;
-2——校验出错;
-3——文件系统未初始化;
*/
char ext_frec_info(uchar file_id,uchar type,ulong *length);
/* 功能:查看扩展文件的信息。
参数:file_id——要查看的活动文件号。file_id为1-4,否则返回失败,若该活动文件号并没有打开的文件,返回失败;
type——查看的类型。type=1查询文件的最大记录数,type=2查询文件的记录长度,type=3查询当前的记录数;
*length——剩余空间的字节长度。改值并不一定可以被充分利用,视建立文件的记录长度决定。
返回:0——成功;
-2——校验出错;
-3——文件系统未初始化;
-4——失败;
*/
int ext_update_frec(uchar file_id,char *del_str,int del_num,char *add_str,int add_num);
/* 功能:更新存放在流水中的基础黑名单。要求添加必须以升序排列,并且每次添加的第一条需要比前次添加的最后一条大(即总体升序)。升序是指字符串比较升序。
参数:file_id——要更新的活动文件号。file_id为1-4,否则返回失败,若该活动文件号并没有打开的文件,返回失败;
*del_str——要删除的记录。若有多条,需要升序存放。若黑名单有10字节,数据如:AAAAAAAAAABBBBBBBBBBCCCCCCCCCC...
del_num——要删除的记录条数。
*add_str——要添加的记录。若有多条,需要升序存放。若黑名单有10字节,数据如:AAAAAAAAAABBBBBBBBBBCCCCCCCCCC...
add_num——要添加的记录条数。
返回:0——成功;
n>0——后面n条未添加(记录满);
-2——校验错;
-3——未初始化;
-4——失败;
*/
char ext_search_frec(uchar file_id,char *string);
/* 功能:在基础黑名单中查找一条黑名单记录。
参数:file_id——要更新的活动文件号。file_id为1-4,否则返回失败,若该活动文件号并没有打开的文件,返回失败;
*string——要查找的记录。
返回:0——找到;
1——找不到;
-2——校验出错;
-3——文件系统未初始化;
-4——失败;
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -