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

📄 filesys.h

📁 利用POS机具硬件改为条纹码扫描器的编程代码
💻 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 + -