📄 gnotes.txt
字号:
Nucleus FILE Abstraction Layer
********** Release History **********
*****************************************************************************
Release 1.0 April 26, 1999
*****************************************************************************
This is the first release of Nucleus FILE Abstraction Layer needed for
the Nucleus NET FTP Server, POP3, SMTP and WEB Server. This is based
on Nucleus NET 4.2 stack and new directory structure.
*****************************************************************************
Release 1.3 March 08, 2000
*****************************************************************************
This is the second release of Nucleus File Abstraction Layer needed for
the Nucleus NET FTP Server, FTP Client, POP3, SMTP, Web Server, Telnet,
TFTP Client and TFTP Server. This release supports the Nucleus File
file system, the Windows NT file system (which can only be used under
MNT) and the In-Memory file system.
FILE CHANGES:
1) Removed ifile.h
2) Renamed falfl.c to fal.c
3) Renamed falfl.h to fal.h
4) Added imf.c
5) Added imf.h
FEATURES ADDED IN THIS RELEASE:
1) Full support of the Windows NT File System (under MNT)
2) Added the In-Memory File System
FUNCTIONS MODIFIED:
RELEASE 1.0:
FAL_FILE FAL_fopen(UINT8 *path, UCOUNT flag, UCOUNT mode, FAL_FILE file);
RELEASE 1.3:
FAL_FILE FAL_Open(CHAR *path, UINT16 flag, UINT16 mode);
INT32 FAL_fprintf(FAL_FILE file, char *string);
INT32 FAL_Fprintf(FAL_FILE file, CHAR *string);
BOOL FAL_fclose(FAL_FILE file, int iotype);
INT FAL_Fclose(FAL_FILE file, INT iotype);
FAL_FIND FAL_findnext(FAL_DIR *statobj, long hfile);
INT FAL_Find_Next(FAL_DIR *statobj, INT32 hfile);
FAL_FIND FAL_findfirst(UINT8 *path, FAL_DIR *statobj, int attrib);
INT FAL_Find_First(CHAR *path, FAL_DIR *statobj, INT32 *attrib);
BOOL FAL_remove(UINT8 *name);
INT FAL_Remove(CHAR *name);
BOOL FAL_findclose(long hfile,FAL_DIR *statobj );
INT FAL_Find_Close(INT32 hfile, FAL_DIR *statobj);
UINT32 FAL_fwrite(UINT8 *buf, UCOUNT size, INT32 count, FAL_FILE file);
UINT32 FAL_Fwrite(CHAR *buf, UINT16 size, FAL_FILE file);
INT32 FAL_mkdir(UINT8 *mb);
INT FAL_Mk_Dir(CHAR *mb);
INT32 FAL_rmvdir(UINT8 *path);
INT FAL_Rmv_Dir(CHAR *path);
FAL_TIME * FAL_time( FAL_TIME *ltime );
INT FAL_Time(FAL_TIME *ltime);
CHAR * FAL_ctime( FAL_TIME *ltime );
INT FAL_Ctime(FAL_TIME *ltime, CHAR *buffer);
FAL_LOCAL * FAL_localtime( FAL_TIME *timer,FAL_LOCAL *time );
INT FAL_Local_Time(FAL_TIME *timer,FAL_LOCAL *time);
LONG FAL_seek(FAL_FILE file, LONG offset, COUNT origin);
INT32 FAL_Seek(FAL_FILE file, INT32 offset, INT16 origin);
UINT32 FAL_fread(UINT8 *buf, UCOUNT size, INT32 count, FAL_FILE file);
UINT32 FAL_Fread(CHAR *buf, UINT16 size, FAL_FILE file);
INT32 FAL_Current_Dir(UINT8 *drive, UINT8 *path);
INT FAL_Current_Dir(INT drive, CHAR *path);
INT32 FAL_Set_Curr_Dir(UINT8 *path);
INT FAL_Set_Curr_Dir(CHAR *path);
INT32 FAL_Is_Dir(UINT8 *path);
INT FAL_Is_Dir(CHAR *path);
INT32 FAL_rename(UINT8 *rename_path, UINT8 *curr_name);
INT FAL_Rename_File(CHAR *rename_path, CHAR *curr_name);
FUNCTIONS REMOVED:
CHAR * FAL_fgets(UINT8 *line, INT16 size, FAL_FILE file);
int FAL_access(UINT8 *mb);
FUNCTIONS ADDED:
INT FAL_Store_Name(CHAR *name, FAL_DIR *r_file);
INT FAL_Sys_Init(INT ram_disk);
UINT32 FAL_Object_File_Length(FAL_DIR *file);
UINT32 FAL_Handle_File_Length(FAL_FILE file_desc);
UINT32 FAL_Disk_Space(VOID);
INT FAL_Get_Curr_Drive(VOID);
INT FAL_Set_Curr_Drive(INT drive);
INT FAL_Open_Disk(INT drive);
INT FAL_Close_Disk(INT drive);
INT FAL_Release_File_User(VOID);
INT FAL_Become_File_User(VOID);
signed char FAL_Get_Attribute(FAL_DIR statobj);
INT FAL_Get_Last_Error(VOID);
SPRS FIXED:
812 - This function was part of the in-memory file system of the ftp code.
The FTP Client and Server now use the FAL Layer, and all in-memory file
system code has been removed from both protocols. The in-memory file
system is still available through FAL. This problem has been corrected.
The former function FTP_Close_File, now named IMF_Close, operates completely
different than it used to, and the (e - s) operation that was typecast does
not exist.
741 - We have decided not to remove the FAL layer - in fact, we have decided
to integrate it into all file-dependent networking protocols. The file
ifile.h, however, has been completely eliminated. The macro
INCLUDE_FILE_LAYER has also been eliminated. All demos dependent on a file
system should include fal.h and call FAL_Sys_Init. Each task should in turn
call FAL_Become_File_User - regardless of the file system being used.
Webserv can still use its own in-memory file system, File or the NT file
system.
*****************************************************************************
Release 1.4 October 24, 2000
*****************************************************************************
This is the third release of Nucleus File Abstraction Layer needed for
the Nucleus NET FTP Server, FTP Client, POP3, SMTP, Web Server, Telnet,
TFTP Client and TFTP Server. This release supports the Nucleus File
file system, the Nucleus File2 file system, the Windows NT file system
(which can only be used under MNT) and the In-Memory file system (IMF).
This release was made to provide support for Nucleus File 2.
SPRS FIXED:
1043 - Modified the function IMF_Delete to clear out the entire file name
when deleting a file from the system.
1096 - Added a carriage return to the end of the file IMF.C to remove warnings
from certain compilers.
1134 - Extended the maximum name of a file within IMF to 12 characters instead of the
previous 11 character restriction.
1133 - Removed (4) warnings from TI tools.
*****************************************************************************
Release 1.5 April 10, 2001
*****************************************************************************
This is the third release of Nucleus File Abstraction Layer needed for
the Nucleus NET FTP Server, FTP Client, POP3, SMTP, Web Server, Telnet,
TFTP Client and TFTP Server. This release supports the Nucleus File
file system, the Nucleus File2 file system, the Windows NT file system
(which can only be used under MNT) and the In-Memory file system (IMF).
This release was made to fix the following SPRs:
SPRS FIXED:
41 - Modified the functions FAL_Fread, FAL_Fwrite, FAL_Handle_File_Length and
FAL_Disk_Space to return zero upon an error.
129 - Modified the function FAL_Find_First for File 2 to find the next object
if the first object is the volume label for the disk.
130 - Modified the function FAL_Store_Name for File and File 2 to parse the
file name properly.
131 - Added the function FAL_Object_Mod_Time to return the data and time that
a file was last modified.
143 - Removed warnings generated from the CAD-UL real-mode tools.
144 - Removed warnings generated from the Paradigm tools.
*****************************************************************************
Release 1.5a August 21, 2001
*****************************************************************************
This release of Nucleus File Abstraction Layer was done to resolve the
following bug report.
NTWK - 0039,0085: Change the types of the locals in FAL_Disk_Space when
FILE 2.x. A problem with byte order was found.
NTWK - 0132: In FAL_Fwrite, the third parameter passed into NU_Write is type
casted from UINT16 to INT32 to get rid of warning.
*****************************************************************************
Release 1.5b January 07, 2002
*****************************************************************************
This release of the Nucleus File Abstraction Layer was done to resolve the
following bug report:
NTWK - 206: Multiple defines conflict between FAL and pcdisk.h if IMF is
being used by NET and the Nucleus FILE system is being used at the
application layer.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -