fsax2nu.c

来自「基于东南大学开发的SEP3203的ARM7中的所有驱动」· C语言 代码 · 共 87 行

C
87
字号
/*
 *	Copyright (C) 2004 Asic Center
 * 	All right reserved 
 *	
 *	file name:		fsAx2Nu.c
 *	file description:	The interface between AsixOS fs and Nucleus FAT fs
 *	file abstrction:		Here defines five functions often used in filesystem operation, which 
 *					realize the wrap from Asix OS fs to Nucleus FAT fs. The key lies in 
 *					parameters transaction.
 *
 *	version:	0.1
 *	author:	Michael
 *	date:	2004-08-23
 *	
 */

#include "FAL.h"

INT NU2Ax_Open(char *fname, char *mode)
{
	UINT16 openflag, openmode;
	FAL_FILE fp;

	if( strcmp( mode, "rb+" ) == 0 )
		openflag = PO_RDWR;
	else 
		if( strcmp( mode, "wb+" ) == 0 )
			openflag = PO_RDWR | PO_CREAT;
		else
			return -1;

	openmode = FAL_IWRITE | FAL_IREAD;
			
	fp = FAL_Open(fname, openflag, openmode);

	return fp;
}



INT NU2Ax_Close(FAL_FILE fd)
{
	INT iotype = 0;
	
	return(FAL_Fclose(fd, iotype));
}

INT NU2Ax_Write(void *buf, int size, int count, FAL_FILE fp)
{
	unsigned int	length;

	length = size * count;

	return(FAL_Fwrite(buf, length, fp));
}

INT NU2Ax_Read(void *buf, int size, int count, FAL_FILE fp)
{
	unsigned int	length;

	length = size * count;

	return(FAL_Fread(buf, length, fp));
	
}

INT NU2Ax_Seek(FAL_FILE fp, long offset, int base)
{
	int origin;

	switch( base )
	{
		case SEEK_SET:
			origin = PSEEK_SET;
			break;
		case SEEK_CUR:
			origin = PSEEK_CUR;
			break;
		case SEEK_END:
			origin = PSEEK_END;
			break;
	}

	return(FAL_Seek(fp, offset, origin));
}

⌨️ 快捷键说明

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