6.1 Release

This commit is contained in:
Scott Larson 2020-10-09 12:23:24 -07:00
parent 215f8bf21d
commit 56de97dfaf
256 changed files with 1579 additions and 296 deletions

View File

@ -25,4 +25,4 @@ Renesas:
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
More coming soon. Please check back frequently for updates. More coming soon. Please check back frequently for updates.

View File

@ -101,8 +101,9 @@ Professional support plans (https://azure.microsoft.com/en-us/support/options/)
The following are references to additional Azure RTOS and Azure IoT in general: The following are references to additional Azure RTOS and Azure IoT in general:
| | | | | |
|---|---| |---|---|
| Azure RTOS Website: | https://azure.microsoft.com/en-us/services/rtos/ | | Azure RTOS Documenation and Guides: | https://docs.microsoft.com/azure/rtos |
| Azure RTOS Website: | https://azure.microsoft.com/services/rtos/ |
| Azure RTOS Sales Questions: | https://azure-rtos.ms-iot-contact.com/ | | Azure RTOS Sales Questions: | https://azure-rtos.ms-iot-contact.com/ |
| Microsoft Q/A for Azure IoT: | https://docs.microsoft.com/en-us/answers/products/azure?product=iot | | For technical questions check out Microsoft Q/A for Azure IoT: | https://aka.ms/QnA/azure-rtos |
| Internet of Things Show: | https://aka.ms/iotshow | | Internet of Things Show for latest announcements and online training: | https://aka.ms/iotshow |
| IoT Tech Community: | https://aka.ms/iottechcommunity | | IoT Tech Community: | https://aka.ms/community/azure-rtos |

View File

@ -26,7 +26,7 @@
/* APPLICATION INTERFACE DEFINITION RELEASE */ /* APPLICATION INTERFACE DEFINITION RELEASE */
/* */ /* */
/* fx_api.h PORTABLE C */ /* fx_api.h PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -43,6 +43,12 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), and */
/* updated product constants, */
/* and added conditionals to */
/* disable few declarations */
/* for code size reduction, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
@ -84,10 +90,13 @@ extern "C" {
/* Define the major/minor version information that can be used by the application /* Define the major/minor version information that can be used by the application
and the FileX source as well. */ and the FileX source as well. */
#define EL_PRODUCT_FILEX #define AZURE_RTOS_FILEX
#define FILEX_MAJOR_VERSION 6 #define FILEX_MAJOR_VERSION 6
#define FILEX_MINOR_VERSION 0 #define FILEX_MINOR_VERSION 1
#define FILEX_PATCH_VERSION 0
/* Define the following symbols for backward compatibility */
#define EL_PRODUCT_FILEX
/* Override the interrupt protection provided in FileX port files to simply use ThreadX protection, /* Override the interrupt protection provided in FileX port files to simply use ThreadX protection,
which is often in-line assembly. */ which is often in-line assembly. */
@ -821,6 +830,10 @@ typedef struct FX_MEDIA_STRUCT
UCHAR *fx_media_memory_buffer; UCHAR *fx_media_memory_buffer;
ULONG fx_media_memory_size; ULONG fx_media_memory_size;
#ifdef FX_DISABLE_CACHE
ULONG64 fx_media_memory_buffer_sector;
#else
/* Define the flag that indicates whether the logical cache utilizes /* Define the flag that indicates whether the logical cache utilizes
a hash function or is a linear search. If set, the logical cache a hash function or is a linear search. If set, the logical cache
is accessed via a hash function on the requested sector. */ is accessed via a hash function on the requested sector. */
@ -847,6 +860,7 @@ typedef struct FX_MEDIA_STRUCT
/* Define the outstanding dirty sector counter. This is used to optimize /* Define the outstanding dirty sector counter. This is used to optimize
the searching of sectors to flush to the media. */ the searching of sectors to flush to the media. */
ULONG fx_media_sector_cache_dirty_count; ULONG fx_media_sector_cache_dirty_count;
#endif /* FX_DISABLE_CACHE */
/* Define the basic information about the associated media. */ /* Define the basic information about the associated media. */
UINT fx_media_bytes_per_sector; UINT fx_media_bytes_per_sector;
@ -1069,6 +1083,7 @@ typedef struct FX_MEDIA_STRUCT
CHAR fx_media_rename_buffer[FX_MAXIMUM_PATH]; CHAR fx_media_rename_buffer[FX_MAXIMUM_PATH];
#endif #endif
#ifndef FX_DISABLE_CACHE
/* Define the sector cache control structures for this media. */ /* Define the sector cache control structures for this media. */
struct FX_CACHED_SECTOR_STRUCT struct FX_CACHED_SECTOR_STRUCT
fx_media_sector_cache[FX_MAX_SECTOR_CACHE]; fx_media_sector_cache[FX_MAX_SECTOR_CACHE];
@ -1076,6 +1091,7 @@ typedef struct FX_MEDIA_STRUCT
/* Define the sector cache hash mask so that the hash algorithm can be used with /* Define the sector cache hash mask so that the hash algorithm can be used with
any power of 2 number of cache sectors. */ any power of 2 number of cache sectors. */
ULONG fx_media_sector_cache_hash_mask; ULONG fx_media_sector_cache_hash_mask;
#endif /* FX_DISABLE_CACHE */
/* Define a variable to disable burst cache. This is used by the underlying /* Define a variable to disable burst cache. This is used by the underlying
driver. */ driver. */
@ -1215,6 +1231,13 @@ typedef FX_FILE *FX_FILE_PTR;
#ifndef FX_SOURCE_CODE #ifndef FX_SOURCE_CODE
#ifdef FX_DISABLE_ONE_LINE_FUNCTION
#define fx_file_seek(f, b) fx_file_extended_seek(f, (ULONG64)b)
#define fx_file_allocate(f, s) fx_file_extended_allocate(f, (ULONG64)s);
#define fx_file_truncate(f, s) fx_file_extended_truncate(f, (ULONG64)s);
#define fx_file_relative_seek(f, b, sf) fx_file_extended_relative_seek(f, (ULONG64)b, sf);
#define fx_file_truncate_release(f, s) fx_file_extended_truncate_release(f, (ULONG64)s);
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */
/* Determine if error checking is desired. If so, map API functions /* Determine if error checking is desired. If so, map API functions
to the appropriate error checking front-ends. Otherwise, map API to the appropriate error checking front-ends. Otherwise, map API
@ -1249,7 +1272,9 @@ typedef FX_FILE *FX_FILE_PTR;
#define fx_directory_short_name_get _fx_directory_short_name_get #define fx_directory_short_name_get _fx_directory_short_name_get
#define fx_directory_short_name_get_extended _fx_directory_short_name_get_extended #define fx_directory_short_name_get_extended _fx_directory_short_name_get_extended
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
#define fx_file_allocate _fx_file_allocate #define fx_file_allocate _fx_file_allocate
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */
#define fx_file_attributes_read _fx_file_attributes_read #define fx_file_attributes_read _fx_file_attributes_read
#define fx_file_attributes_set _fx_file_attributes_set #define fx_file_attributes_set _fx_file_attributes_set
#define fx_file_best_effort_allocate _fx_file_best_effort_allocate #define fx_file_best_effort_allocate _fx_file_best_effort_allocate
@ -1259,11 +1284,15 @@ typedef FX_FILE *FX_FILE_PTR;
#define fx_file_delete _fx_file_delete #define fx_file_delete _fx_file_delete
#define fx_file_open _fx_file_open #define fx_file_open _fx_file_open
#define fx_file_read _fx_file_read #define fx_file_read _fx_file_read
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
#define fx_file_relative_seek _fx_file_relative_seek #define fx_file_relative_seek _fx_file_relative_seek
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */
#define fx_file_rename _fx_file_rename #define fx_file_rename _fx_file_rename
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
#define fx_file_seek _fx_file_seek #define fx_file_seek _fx_file_seek
#define fx_file_truncate _fx_file_truncate #define fx_file_truncate _fx_file_truncate
#define fx_file_truncate_release _fx_file_truncate_release #define fx_file_truncate_release _fx_file_truncate_release
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */
#define fx_file_write _fx_file_write #define fx_file_write _fx_file_write
#define fx_file_write_notify_set _fx_file_write_notify_set #define fx_file_write_notify_set _fx_file_write_notify_set
#define fx_file_extended_allocate _fx_file_extended_allocate #define fx_file_extended_allocate _fx_file_extended_allocate
@ -1342,7 +1371,9 @@ typedef FX_FILE *FX_FILE_PTR;
#define fx_directory_short_name_get _fxe_directory_short_name_get #define fx_directory_short_name_get _fxe_directory_short_name_get
#define fx_directory_short_name_get_extended _fxe_directory_short_name_get_extended #define fx_directory_short_name_get_extended _fxe_directory_short_name_get_extended
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
#define fx_file_allocate _fxe_file_allocate #define fx_file_allocate _fxe_file_allocate
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */
#define fx_file_attributes_read _fxe_file_attributes_read #define fx_file_attributes_read _fxe_file_attributes_read
#define fx_file_attributes_set _fxe_file_attributes_set #define fx_file_attributes_set _fxe_file_attributes_set
#define fx_file_best_effort_allocate _fxe_file_best_effort_allocate #define fx_file_best_effort_allocate _fxe_file_best_effort_allocate
@ -1352,11 +1383,15 @@ typedef FX_FILE *FX_FILE_PTR;
#define fx_file_delete _fxe_file_delete #define fx_file_delete _fxe_file_delete
#define fx_file_open(m, f, n, t) _fxe_file_open(m, f, n, t, sizeof(FX_FILE)) #define fx_file_open(m, f, n, t) _fxe_file_open(m, f, n, t, sizeof(FX_FILE))
#define fx_file_read _fxe_file_read #define fx_file_read _fxe_file_read
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
#define fx_file_relative_seek _fxe_file_relative_seek #define fx_file_relative_seek _fxe_file_relative_seek
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */
#define fx_file_rename _fxe_file_rename #define fx_file_rename _fxe_file_rename
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
#define fx_file_seek _fxe_file_seek #define fx_file_seek _fxe_file_seek
#define fx_file_truncate _fxe_file_truncate #define fx_file_truncate _fxe_file_truncate
#define fx_file_truncate_release _fxe_file_truncate_release #define fx_file_truncate_release _fxe_file_truncate_release
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */
#define fx_file_write _fxe_file_write #define fx_file_write _fxe_file_write
#define fx_file_write_notify_set _fxe_file_write_notify_set #define fx_file_write_notify_set _fxe_file_write_notify_set
#define fx_file_extended_allocate _fxe_file_extended_allocate #define fx_file_extended_allocate _fxe_file_extended_allocate
@ -1442,7 +1477,9 @@ UINT fx_directory_rename(FX_MEDIA *media_ptr, CHAR *old_directory_name, CHAR *ne
UINT fx_directory_short_name_get(FX_MEDIA *media_ptr, CHAR *long_file_name, CHAR *short_file_name); UINT fx_directory_short_name_get(FX_MEDIA *media_ptr, CHAR *long_file_name, CHAR *short_file_name);
UINT fx_directory_short_name_get_extended(FX_MEDIA* media_ptr, CHAR* long_file_name, CHAR* short_file_name, UINT short_file_name_length); UINT fx_directory_short_name_get_extended(FX_MEDIA* media_ptr, CHAR* long_file_name, CHAR* short_file_name, UINT short_file_name_length);
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
UINT fx_file_allocate(FX_FILE *file_ptr, ULONG size); UINT fx_file_allocate(FX_FILE *file_ptr, ULONG size);
#endif /* FX_DISABLE_ONE_LINE_FUNCTION*/
UINT fx_file_attributes_read(FX_MEDIA *media_ptr, CHAR *file_name, UINT *attributes_ptr); UINT fx_file_attributes_read(FX_MEDIA *media_ptr, CHAR *file_name, UINT *attributes_ptr);
UINT fx_file_attributes_set(FX_MEDIA *media_ptr, CHAR *file_name, UINT attributes); UINT fx_file_attributes_set(FX_MEDIA *media_ptr, CHAR *file_name, UINT attributes);
UINT fx_file_best_effort_allocate(FX_FILE *file_ptr, ULONG size, ULONG *actual_size_allocated); UINT fx_file_best_effort_allocate(FX_FILE *file_ptr, ULONG size, ULONG *actual_size_allocated);
@ -1459,11 +1496,15 @@ UINT _fxe_file_open(FX_MEDIA *media_ptr, FX_FILE *file_ptr, CHAR *file_name,
UINT open_type, UINT file_control_block_size); UINT open_type, UINT file_control_block_size);
#endif #endif
UINT fx_file_read(FX_FILE *file_ptr, VOID *buffer_ptr, ULONG request_size, ULONG *actual_size); UINT fx_file_read(FX_FILE *file_ptr, VOID *buffer_ptr, ULONG request_size, ULONG *actual_size);
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
UINT fx_file_relative_seek(FX_FILE *file_ptr, ULONG byte_offset, UINT seek_from); UINT fx_file_relative_seek(FX_FILE *file_ptr, ULONG byte_offset, UINT seek_from);
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */
UINT fx_file_rename(FX_MEDIA *media_ptr, CHAR *old_file_name, CHAR *new_file_name); UINT fx_file_rename(FX_MEDIA *media_ptr, CHAR *old_file_name, CHAR *new_file_name);
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
UINT fx_file_seek(FX_FILE *file_ptr, ULONG byte_offset); UINT fx_file_seek(FX_FILE *file_ptr, ULONG byte_offset);
UINT fx_file_truncate(FX_FILE *file_ptr, ULONG size); UINT fx_file_truncate(FX_FILE *file_ptr, ULONG size);
UINT fx_file_truncate_release(FX_FILE *file_ptr, ULONG size); UINT fx_file_truncate_release(FX_FILE *file_ptr, ULONG size);
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */
UINT fx_file_write(FX_FILE *file_ptr, VOID *buffer_ptr, ULONG size); UINT fx_file_write(FX_FILE *file_ptr, VOID *buffer_ptr, ULONG size);
UINT fx_file_write_notify_set(FX_FILE *file_ptr, VOID (*file_write_notify)(FX_FILE *)); UINT fx_file_write_notify_set(FX_FILE *file_ptr, VOID (*file_write_notify)(FX_FILE *));
UINT fx_file_extended_allocate(FX_FILE *file_ptr, ULONG64 size); UINT fx_file_extended_allocate(FX_FILE *file_ptr, ULONG64 size);

View File

@ -26,7 +26,7 @@
/* COMPONENT DEFINITION RELEASE */ /* COMPONENT DEFINITION RELEASE */
/* */ /* */
/* fx_directory.h PORTABLE C */ /* fx_directory.h PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -42,6 +42,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/

View File

@ -26,7 +26,7 @@
/* COMPONENT DEFINITION RELEASE */ /* COMPONENT DEFINITION RELEASE */
/* */ /* */
/* fx_directory_exFAT.h PORTABLE C */ /* fx_directory_exFAT.h PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -41,6 +41,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/

View File

@ -26,7 +26,7 @@
/* COMPONENT DEFINITION RELEASE */ /* COMPONENT DEFINITION RELEASE */
/* */ /* */
/* fx_fault_tolerant.h PORTABLE C */ /* fx_fault_tolerant.h PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -42,6 +42,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/

View File

@ -26,7 +26,7 @@
/* COMPONENT DEFINITION RELEASE */ /* COMPONENT DEFINITION RELEASE */
/* */ /* */
/* fx_file.h PORTABLE C */ /* fx_file.h PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -42,6 +42,10 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), and */
/* added conditional to */
/* disable one line function, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
@ -51,7 +55,11 @@
/* Define the external File component function prototypes. */ /* Define the external File component function prototypes. */
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
UINT _fx_file_allocate(FX_FILE *file_ptr, ULONG size); UINT _fx_file_allocate(FX_FILE *file_ptr, ULONG size);
#else
#define _fx_file_allocate(f, s) _fx_file_extended_allocate(f, (ULONG64)s);
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */
UINT _fx_file_attributes_read(FX_MEDIA *media_ptr, CHAR *file_name, UINT *attributes_ptr); UINT _fx_file_attributes_read(FX_MEDIA *media_ptr, CHAR *file_name, UINT *attributes_ptr);
UINT _fx_file_attributes_set(FX_MEDIA *media_ptr, CHAR *file_name, UINT attributes); UINT _fx_file_attributes_set(FX_MEDIA *media_ptr, CHAR *file_name, UINT attributes);
UINT _fx_file_best_effort_allocate(FX_FILE *file_ptr, ULONG size, ULONG *actual_size_allocated); UINT _fx_file_best_effort_allocate(FX_FILE *file_ptr, ULONG size, ULONG *actual_size_allocated);
@ -63,11 +71,21 @@ UINT _fx_file_delete(FX_MEDIA *media_ptr, CHAR *file_name);
UINT _fx_file_open(FX_MEDIA *media_ptr, FX_FILE *file_ptr, CHAR *file_name, UINT _fx_file_open(FX_MEDIA *media_ptr, FX_FILE *file_ptr, CHAR *file_name,
UINT open_type); UINT open_type);
UINT _fx_file_read(FX_FILE *file_ptr, VOID *buffer_ptr, ULONG request_size, ULONG *actual_size); UINT _fx_file_read(FX_FILE *file_ptr, VOID *buffer_ptr, ULONG request_size, ULONG *actual_size);
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
UINT _fx_file_relative_seek(FX_FILE *file_ptr, ULONG byte_offset, UINT seek_from); UINT _fx_file_relative_seek(FX_FILE *file_ptr, ULONG byte_offset, UINT seek_from);
#else
#define _fx_file_relative_seek(f, b, sf) _fx_file_extended_relative_seek(f, (ULONG64)b, sf);
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */
UINT _fx_file_rename(FX_MEDIA *media_ptr, CHAR *old_file_name, CHAR *new_file_name); UINT _fx_file_rename(FX_MEDIA *media_ptr, CHAR *old_file_name, CHAR *new_file_name);
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
UINT _fx_file_seek(FX_FILE *file_ptr, ULONG byte_offset); UINT _fx_file_seek(FX_FILE *file_ptr, ULONG byte_offset);
UINT _fx_file_truncate(FX_FILE *file_ptr, ULONG size); UINT _fx_file_truncate(FX_FILE *file_ptr, ULONG size);
UINT _fx_file_truncate_release(FX_FILE *file_ptr, ULONG size); UINT _fx_file_truncate_release(FX_FILE *file_ptr, ULONG size);
#else
#define _fx_file_seek(f, b) _fx_file_extended_seek(f, (ULONG64)b)
#define _fx_file_truncate(f, s) _fx_file_extended_truncate(f, (ULONG64)s);
#define _fx_file_truncate_release(f, s) _fx_file_extended_truncate_release(f, (ULONG64)s);
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */
UINT _fx_file_write(FX_FILE *file_ptr, VOID *buffer_ptr, ULONG size); UINT _fx_file_write(FX_FILE *file_ptr, VOID *buffer_ptr, ULONG size);
UINT _fx_file_write_notify_set(FX_FILE *file_ptr, VOID (*file_write_notify)(FX_FILE *)); UINT _fx_file_write_notify_set(FX_FILE *file_ptr, VOID (*file_write_notify)(FX_FILE *));
UINT _fx_file_extended_allocate(FX_FILE *file_ptr, ULONG64 size); UINT _fx_file_extended_allocate(FX_FILE *file_ptr, ULONG64 size);

View File

@ -26,7 +26,7 @@
/* COMPONENT DEFINITION RELEASE */ /* COMPONENT DEFINITION RELEASE */
/* */ /* */
/* fx_media.h PORTABLE C */ /* fx_media.h PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -42,6 +42,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/

View File

@ -26,7 +26,7 @@
/* COMPONENT DEFINITION RELEASE */ /* COMPONENT DEFINITION RELEASE */
/* */ /* */
/* fx_system.h PORTABLE C */ /* fx_system.h PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -42,6 +42,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/

View File

@ -26,7 +26,7 @@
/* COMPONENT DEFINITION RELEASE */ /* COMPONENT DEFINITION RELEASE */
/* */ /* */
/* fx_unicode.h PORTABLE C */ /* fx_unicode.h PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -42,6 +42,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/

View File

@ -26,7 +26,7 @@
/* PORT SPECIFIC C INFORMATION RELEASE */ /* PORT SPECIFIC C INFORMATION RELEASE */
/* */ /* */
/* fx_user.h PORTABLE C */ /* fx_user.h PORTABLE C */
/* 6.0 */ /* 6.1 */
/* */ /* */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
@ -45,6 +45,11 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), and */
/* added product constants */
/* to enable code */
/* size optimization, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
@ -183,6 +188,53 @@
/*#define FX_FAULT_TOLERANT_BOOT_INDEX 116 */ /*#define FX_FAULT_TOLERANT_BOOT_INDEX 116 */
/* Below FX_DISABLE_XXX macros can be used for code size optimization required for memory
critical aplications */
/* Defined, error checking is disabled. */
/*#define FX_DISABLE_ERROR_CHECKING */
/* Defined, cache is disabled. */
/*#define FX_DISABLE_CACHE */
/* Defined, file close is disabled. */
/*#define FX_DISABLE_FILE_CLOSE */
/* Defined, fast open is disabled. */
/*#define FX_DISABLE_FAST_OPEN */
/* Defined, force memory operations are disabled. */
/*#define FX_DISABLE_FORCE_MEMORY_OPERATION */
/* Defined, build options is disabled. */
/*#define FX_DISABLE_BUILD_OPTIONS */
/* Defined, one line function is disabled. */
/*#define FX_DISABLE_ONE_LINE_FUNCTION */
/* Defined, FAT entry refresh is disabled. */
/*#define FX_DIABLE_FAT_ENTRY_REFRESH */
/* Defined, consecutive detect is disabled. */
/*#define FX_DISABLE_CONSECUTIVE_DETECT */
#endif #endif

View File

@ -26,7 +26,7 @@
/* COMPONENT DEFINITION RELEASE */ /* COMPONENT DEFINITION RELEASE */
/* */ /* */
/* fx_utility.h PORTABLE C */ /* fx_utility.h PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -42,6 +42,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/

View File

@ -37,7 +37,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_attributes_read PORTABLE C */ /* _fx_directory_attributes_read PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -74,6 +74,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_attributes_read(FX_MEDIA *media_ptr, CHAR *directory_name, UINT *attributes_ptr) UINT _fx_directory_attributes_read(FX_MEDIA *media_ptr, CHAR *directory_name, UINT *attributes_ptr)

View File

@ -40,7 +40,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_attributes_set PORTABLE C */ /* _fx_directory_attributes_set PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -82,6 +82,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_attributes_set(FX_MEDIA *media_ptr, CHAR *directory_name, UINT attributes) UINT _fx_directory_attributes_set(FX_MEDIA *media_ptr, CHAR *directory_name, UINT attributes)

View File

@ -40,7 +40,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_create PORTABLE C */ /* _fx_directory_create PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -94,6 +94,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_create(FX_MEDIA *media_ptr, CHAR *directory_name) UINT _fx_directory_create(FX_MEDIA *media_ptr, CHAR *directory_name)

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_default_get PORTABLE C */ /* _fx_directory_default_get PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -67,6 +67,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_default_get(FX_MEDIA *media_ptr, CHAR **return_path_name) UINT _fx_directory_default_get(FX_MEDIA *media_ptr, CHAR **return_path_name)

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_default_get_copy PORTABLE C */ /* _fx_directory_default_get_copy PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -68,6 +68,9 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), verified */
/* memcpy usage, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_default_get_copy(FX_MEDIA *media_ptr, CHAR *return_path_name_buffer, UINT return_path_name_buffer_size) UINT _fx_directory_default_get_copy(FX_MEDIA *media_ptr, CHAR *return_path_name_buffer, UINT return_path_name_buffer_size)
@ -95,7 +98,7 @@ UINT path_name_length_with_null_terminator;
{ {
/* Copy the path name into the user's buffer. */ /* Copy the path name into the user's buffer. */
_fx_utility_memory_copy((UCHAR *) return_path_name, (UCHAR *) return_path_name_buffer, path_name_length_with_null_terminator); _fx_utility_memory_copy((UCHAR *) return_path_name, (UCHAR *) return_path_name_buffer, path_name_length_with_null_terminator); /* Use case of memcpy is verified. */
} }
else else
{ {

View File

@ -44,7 +44,7 @@ FX_LOCAL_PATH_SETUP
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_default_set PORTABLE C */ /* _fx_directory_default_set PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -80,6 +80,8 @@ FX_LOCAL_PATH_SETUP
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_default_set(FX_MEDIA *media_ptr, CHAR *new_path_name) UINT _fx_directory_default_set(FX_MEDIA *media_ptr, CHAR *new_path_name)

View File

@ -43,7 +43,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_delete PORTABLE C */ /* _fx_directory_delete PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -92,6 +92,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_delete(FX_MEDIA *media_ptr, CHAR *directory_name) UINT _fx_directory_delete(FX_MEDIA *media_ptr, CHAR *directory_name)

View File

@ -42,7 +42,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_entry_read PORTABLE C */ /* _fx_directory_entry_read PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -83,6 +83,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
#ifdef FX_ENABLE_EXFAT #ifdef FX_ENABLE_EXFAT

View File

@ -39,7 +39,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_entry_write PORTABLE C */ /* _fx_directory_entry_write PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -76,6 +76,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_entry_write(FX_MEDIA *media_ptr, FX_DIR_ENTRY *entry_ptr) UINT _fx_directory_entry_write(FX_MEDIA *media_ptr, FX_DIR_ENTRY *entry_ptr)

View File

@ -38,7 +38,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_exFAT_entry_read PORTABLE C */ /* _fx_directory_exFAT_entry_read PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -86,6 +86,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_exFAT_entry_read(FX_MEDIA *media_ptr, FX_DIR_ENTRY *source_dir, UINT _fx_directory_exFAT_entry_read(FX_MEDIA *media_ptr, FX_DIR_ENTRY *source_dir,

View File

@ -35,7 +35,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_exFAT_entry_write PORTABLE C */ /* _fx_directory_exFAT_entry_write PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -81,6 +81,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_exFAT_entry_write(FX_MEDIA *media_ptr, FX_DIR_ENTRY *entry_ptr, UCHAR update_level) UINT _fx_directory_exFAT_entry_write(FX_MEDIA *media_ptr, FX_DIR_ENTRY *entry_ptr, UCHAR update_level)

View File

@ -38,7 +38,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_free_search PORTABLE C */ /* _fx_directory_free_search PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -80,6 +80,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_exFAT_free_search(FX_MEDIA *media_ptr, FX_DIR_ENTRY *directory_ptr, FX_DIR_ENTRY *entry_ptr) UINT _fx_directory_exFAT_free_search(FX_MEDIA *media_ptr, FX_DIR_ENTRY *directory_ptr, FX_DIR_ENTRY *entry_ptr)

View File

@ -42,7 +42,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_exFAT_unicode_entry_write PORTABLE C */ /* _fx_directory_exFAT_unicode_entry_write PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -88,6 +88,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_exFAT_unicode_entry_write(FX_MEDIA *media_ptr, FX_DIR_ENTRY *entry_ptr, UINT _fx_directory_exFAT_unicode_entry_write(FX_MEDIA *media_ptr, FX_DIR_ENTRY *entry_ptr,

View File

@ -40,7 +40,7 @@ FX_LOCAL_PATH_SETUP
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_first_entry_find PORTABLE C */ /* _fx_directory_first_entry_find PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -73,6 +73,8 @@ FX_LOCAL_PATH_SETUP
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_first_entry_find(FX_MEDIA *media_ptr, CHAR *directory_name) UINT _fx_directory_first_entry_find(FX_MEDIA *media_ptr, CHAR *directory_name)

View File

@ -39,7 +39,7 @@ FX_LOCAL_PATH_SETUP
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_first_full_entry_find PORTABLE C */ /* _fx_directory_first_full_entry_find PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -80,6 +80,8 @@ FX_LOCAL_PATH_SETUP
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_first_full_entry_find(FX_MEDIA *media_ptr, UINT _fx_directory_first_full_entry_find(FX_MEDIA *media_ptr,

View File

@ -39,7 +39,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_free_search PORTABLE C */ /* _fx_directory_free_search PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -80,6 +80,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_free_search(FX_MEDIA *media_ptr, FX_DIR_ENTRY *directory_ptr, FX_DIR_ENTRY *entry_ptr) UINT _fx_directory_free_search(FX_MEDIA *media_ptr, FX_DIR_ENTRY *directory_ptr, FX_DIR_ENTRY *entry_ptr)

View File

@ -37,7 +37,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_information_get PORTABLE C */ /* _fx_directory_information_get PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -80,6 +80,9 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), verified */
/* memcpy usage, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_information_get(FX_MEDIA *media_ptr, CHAR *directory_name, UINT _fx_directory_information_get(FX_MEDIA *media_ptr, CHAR *directory_name,
@ -149,7 +152,7 @@ FX_FILE *search_ptr;
/* The file has been opened for writing by a previous call. Use the information used by /* The file has been opened for writing by a previous call. Use the information used by
the writer instead of what is currently on the media. */ the writer instead of what is currently on the media. */
_fx_utility_memory_copy((UCHAR *)&search_ptr -> fx_file_dir_entry, (UCHAR *)&dir_entry, sizeof(FX_DIR_ENTRY)); _fx_utility_memory_copy((UCHAR *)&search_ptr -> fx_file_dir_entry, (UCHAR *)&dir_entry, sizeof(FX_DIR_ENTRY)); /* Use case of memcpy is verified. */
break; break;
} }

View File

@ -41,7 +41,7 @@ FX_LOCAL_PATH_SETUP
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_local_path_clear PORTABLE C */ /* _fx_directory_local_path_clear PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -73,6 +73,8 @@ FX_LOCAL_PATH_SETUP
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_local_path_clear(FX_MEDIA *media_ptr) UINT _fx_directory_local_path_clear(FX_MEDIA *media_ptr)

View File

@ -40,7 +40,7 @@ FX_LOCAL_PATH_SETUP
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_local_path_get PORTABLE C */ /* _fx_directory_local_path_get PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -72,6 +72,8 @@ FX_LOCAL_PATH_SETUP
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_local_path_get(FX_MEDIA *media_ptr, CHAR **return_path_name) UINT _fx_directory_local_path_get(FX_MEDIA *media_ptr, CHAR **return_path_name)

View File

@ -36,7 +36,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_local_path_get_copy PORTABLE C */ /* _fx_directory_local_path_get_copy PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -70,6 +70,9 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), verified */
/* memcpy usage, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_local_path_get_copy(FX_MEDIA *media_ptr, CHAR *return_path_name_buffer, UINT return_path_name_buffer_size) UINT _fx_directory_local_path_get_copy(FX_MEDIA *media_ptr, CHAR *return_path_name_buffer, UINT return_path_name_buffer_size)
@ -97,7 +100,7 @@ UINT path_name_length_with_null_terminator;
{ {
/* Copy the path name into the user's buffer. */ /* Copy the path name into the user's buffer. */
_fx_utility_memory_copy((UCHAR *) return_path_name, (UCHAR *) return_path_name_buffer, path_name_length_with_null_terminator); _fx_utility_memory_copy((UCHAR *) return_path_name, (UCHAR *) return_path_name_buffer, path_name_length_with_null_terminator); /* Use case of memcpy is verified. */
} }
else else
{ {

View File

@ -40,7 +40,7 @@ FX_LOCAL_PATH_SETUP
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_local_path_restore PORTABLE C */ /* _fx_directory_local_path_restore PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -72,6 +72,8 @@ FX_LOCAL_PATH_SETUP
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_local_path_restore(FX_MEDIA *media_ptr, FX_LOCAL_PATH *local_path_ptr) UINT _fx_directory_local_path_restore(FX_MEDIA *media_ptr, FX_LOCAL_PATH *local_path_ptr)

View File

@ -40,7 +40,7 @@ FX_LOCAL_PATH_SETUP
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_local_path_set PORTABLE C */ /* _fx_directory_local_path_set PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -76,6 +76,8 @@ FX_LOCAL_PATH_SETUP
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_local_path_set(FX_MEDIA *media_ptr, FX_LOCAL_PATH *local_path_ptr, CHAR *new_path_name) UINT _fx_directory_local_path_set(FX_MEDIA *media_ptr, FX_LOCAL_PATH *local_path_ptr, CHAR *new_path_name)

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_long_name_get PORTABLE C */ /* _fx_directory_long_name_get PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -72,6 +72,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_long_name_get(FX_MEDIA *media_ptr, CHAR *short_file_name, CHAR *long_file_name) UINT _fx_directory_long_name_get(FX_MEDIA *media_ptr, CHAR *short_file_name, CHAR *long_file_name)

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_long_name_get_extended PORTABLE C */ /* _fx_directory_long_name_get_extended PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -69,6 +69,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_long_name_get_extended(FX_MEDIA *media_ptr, CHAR *short_file_name, CHAR *long_file_name, UINT long_file_name_buffer_length) UINT _fx_directory_long_name_get_extended(FX_MEDIA *media_ptr, CHAR *short_file_name, CHAR *long_file_name, UINT long_file_name_buffer_length)

View File

@ -36,7 +36,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_name_extract PORTABLE C */ /* _fx_directory_name_extract PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -70,6 +70,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
CHAR *_fx_directory_name_extract(CHAR *source_ptr, CHAR *dest_ptr) CHAR *_fx_directory_name_extract(CHAR *source_ptr, CHAR *dest_ptr)

View File

@ -37,7 +37,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_name_test PORTABLE C */ /* _fx_directory_name_test PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -72,6 +72,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_name_test(FX_MEDIA *media_ptr, CHAR *directory_name) UINT _fx_directory_name_test(FX_MEDIA *media_ptr, CHAR *directory_name)

View File

@ -43,7 +43,7 @@ FX_LOCAL_PATH_SETUP
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_next_entry_find PORTABLE C */ /* _fx_directory_next_entry_find PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -80,6 +80,8 @@ FX_LOCAL_PATH_SETUP
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_next_entry_find(FX_MEDIA *media_ptr, CHAR *directory_name) UINT _fx_directory_next_entry_find(FX_MEDIA *media_ptr, CHAR *directory_name)

View File

@ -43,7 +43,7 @@ FX_LOCAL_PATH_SETUP
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_next_full_entry_find PORTABLE C */ /* _fx_directory_next_full_entry_find PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -89,6 +89,8 @@ FX_LOCAL_PATH_SETUP
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_next_full_entry_find(FX_MEDIA *media_ptr, UINT _fx_directory_next_full_entry_find(FX_MEDIA *media_ptr,

View File

@ -43,7 +43,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_rename PORTABLE C */ /* _fx_directory_rename PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -88,6 +88,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_rename(FX_MEDIA *media_ptr, CHAR *old_directory_name, CHAR *new_directory_name) UINT _fx_directory_rename(FX_MEDIA *media_ptr, CHAR *old_directory_name, CHAR *new_directory_name)

View File

@ -43,7 +43,7 @@ FX_LOCAL_PATH_SETUP
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_search PORTABLE C */ /* _fx_directory_search PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -86,6 +86,10 @@ FX_LOCAL_PATH_SETUP
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), and */
/* added conditional to */
/* disable media search cache, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_search(FX_MEDIA *media_ptr, CHAR *name_ptr, FX_DIR_ENTRY *entry_ptr, UINT _fx_directory_search(FX_MEDIA *media_ptr, CHAR *name_ptr, FX_DIR_ENTRY *entry_ptr,
@ -95,7 +99,9 @@ UINT _fx_directory_search(FX_MEDIA *media_ptr, CHAR *name_ptr, FX_DIR_ENTRY *en
ULONG i, n; ULONG i, n;
UINT found; UINT found;
UINT status; UINT status;
#ifndef FX_MEDIA_DISABLE_SEARCH_CACHE
UINT v, j; UINT v, j;
#endif /* FX_MEDIA_DISABLE_SEARCH_CACHE */
ULONG cluster, next_cluster = 0; ULONG cluster, next_cluster = 0;
ULONG64 directory_size; ULONG64 directory_size;
CHAR *dir_name_ptr; CHAR *dir_name_ptr;

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_short_name_get PORTABLE C */ /* _fx_directory_short_name_get PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -72,6 +72,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_short_name_get(FX_MEDIA *media_ptr, CHAR *long_file_name, CHAR *short_file_name) UINT _fx_directory_short_name_get(FX_MEDIA *media_ptr, CHAR *long_file_name, CHAR *short_file_name)

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_directory_short_name_get_extended PORTABLE C */ /* _fx_directory_short_name_get_extended PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -69,6 +69,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_directory_short_name_get_extended(FX_MEDIA *media_ptr, CHAR *long_file_name, CHAR *short_file_name, UINT short_file_name_length) UINT _fx_directory_short_name_get_extended(FX_MEDIA *media_ptr, CHAR *long_file_name, CHAR *short_file_name, UINT short_file_name_length)

View File

@ -33,7 +33,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_add_FAT_log PORTABLE C */ /* _fx_fault_tolerant_add_FAT_log PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -67,6 +67,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_add_FAT_log(FX_MEDIA *media_ptr, ULONG cluster, ULONG value) UINT _fx_fault_tolerant_add_FAT_log(FX_MEDIA *media_ptr, ULONG cluster, ULONG value)

View File

@ -33,7 +33,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_add_bitmap_log PORTABLE C */ /* _fx_fault_tolerant_add_bitmap_log PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -68,6 +68,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_add_bitmap_log(FX_MEDIA *media_ptr, ULONG cluster, ULONG value) UINT _fx_fault_tolerant_add_bitmap_log(FX_MEDIA *media_ptr, ULONG cluster, ULONG value)

View File

@ -33,7 +33,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_add_checksum_log PORTABLE C */ /* _fx_fault_tolerant_add_checksum_log PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -71,6 +71,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_add_checksum_log(FX_MEDIA *media_ptr, ULONG64 logical_sector, ULONG offset, USHORT checksum) UINT _fx_fault_tolerant_add_checksum_log(FX_MEDIA *media_ptr, ULONG64 logical_sector, ULONG offset, USHORT checksum)

View File

@ -33,7 +33,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_add_dir_log PORTABLE C */ /* _fx_fault_tolerant_add_dir_log PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -72,6 +72,9 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), verified */
/* memcpy usage, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_add_dir_log(FX_MEDIA *media_ptr, ULONG64 logical_sector, ULONG offset, UINT _fx_fault_tolerant_add_dir_log(FX_MEDIA *media_ptr, ULONG64 logical_sector, ULONG offset,
@ -115,7 +118,7 @@ FX_FAULT_TOLERANT_DIR_LOG *dir_log;
_fx_utility_64_unsigned_write((UCHAR *)&dir_log -> fx_fault_tolerant_dir_log_sector, logical_sector); _fx_utility_64_unsigned_write((UCHAR *)&dir_log -> fx_fault_tolerant_dir_log_sector, logical_sector);
_fx_utility_32_unsigned_write((UCHAR *)&dir_log -> fx_fault_tolerant_dir_log_offset, offset); _fx_utility_32_unsigned_write((UCHAR *)&dir_log -> fx_fault_tolerant_dir_log_offset, offset);
memcpy(media_ptr -> fx_media_fault_tolerant_memory_buffer + memcpy(media_ptr -> fx_media_fault_tolerant_memory_buffer + /* Use case of memcpy is verified. */
media_ptr -> fx_media_fault_tolerant_file_size + FX_FAULT_TOLERANT_DIR_LOG_ENTRY_SIZE, media_ptr -> fx_media_fault_tolerant_file_size + FX_FAULT_TOLERANT_DIR_LOG_ENTRY_SIZE,
data, data_size); data, data_size);

View File

@ -33,7 +33,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_apply_logs PORTABLE C */ /* _fx_fault_tolerant_apply_logs PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -78,6 +78,9 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), verified */
/* memcpy usage, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_apply_logs(FX_MEDIA *media_ptr) UINT _fx_fault_tolerant_apply_logs(FX_MEDIA *media_ptr)
@ -212,8 +215,13 @@ ULONG tail_cluster;
copy_size = log_len - FX_FAULT_TOLERANT_DIR_LOG_ENTRY_SIZE; copy_size = log_len - FX_FAULT_TOLERANT_DIR_LOG_ENTRY_SIZE;
if ((copy_offset + copy_size) > media_ptr -> fx_media_memory_size)
{
return(FX_FILE_CORRUPT);
}
/* Copy data into destination sector. */ /* Copy data into destination sector. */
memcpy(media_ptr -> fx_media_memory_buffer + copy_offset, memcpy(media_ptr -> fx_media_memory_buffer + copy_offset, /* Use case of memcpy is verified. */
current_ptr + FX_FAULT_TOLERANT_DIR_LOG_ENTRY_SIZE, copy_size); current_ptr + FX_FAULT_TOLERANT_DIR_LOG_ENTRY_SIZE, copy_size);

View File

@ -33,7 +33,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_calculate_checksum PORTABLE C */ /* _fx_fault_tolerant_calculate_checksum PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -70,6 +70,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
USHORT _fx_fault_tolerant_calculate_checksum(UCHAR *data, UINT len) USHORT _fx_fault_tolerant_calculate_checksum(UCHAR *data, UINT len)

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_cleanup_FAT_chain PORTABLE C */ /* _fx_fault_tolerant_cleanup_FAT_chain PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -83,6 +83,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_cleanup_FAT_chain(FX_MEDIA *media_ptr, UINT operation) UINT _fx_fault_tolerant_cleanup_FAT_chain(FX_MEDIA *media_ptr, UINT operation)

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_create_log_file PORTABLE C */ /* _fx_fault_tolerant_create_log_file PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -76,6 +76,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_create_log_file(FX_MEDIA *media_ptr) UINT _fx_fault_tolerant_create_log_file(FX_MEDIA *media_ptr)

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_enable PORTABLE C */ /* _fx_fault_tolerant_enable PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -84,6 +84,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_enable(FX_MEDIA *media_ptr, VOID *memory_buffer, UINT memory_size) UINT _fx_fault_tolerant_enable(FX_MEDIA *media_ptr, VOID *memory_buffer, UINT memory_size)

View File

@ -33,7 +33,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_read_FAT PORTABLE C */ /* _fx_fault_tolerant_read_FAT PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -73,6 +73,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_read_FAT(FX_MEDIA *media_ptr, ULONG cluster, ULONG *value, ULONG log_type) UINT _fx_fault_tolerant_read_FAT(FX_MEDIA *media_ptr, ULONG cluster, ULONG *value, ULONG log_type)

View File

@ -33,7 +33,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_read_directory_sector PORTABLE C */ /* _fx_fault_tolerant_read_directory_sector PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -72,6 +72,9 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), verified */
/* memcpy usage, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_read_directory_sector(FX_MEDIA *media_ptr, ULONG64 logical_sector, UINT _fx_fault_tolerant_read_directory_sector(FX_MEDIA *media_ptr, ULONG64 logical_sector,
@ -149,8 +152,13 @@ FX_FAULT_TOLERANT_DIR_LOG *dir_log;
copy_size = log_len - FX_FAULT_TOLERANT_DIR_LOG_ENTRY_SIZE; copy_size = log_len - FX_FAULT_TOLERANT_DIR_LOG_ENTRY_SIZE;
if ((copy_offset + copy_size) > media_ptr -> fx_media_bytes_per_sector)
{
return(FX_FILE_CORRUPT);
}
/* Copy data into destination sector. */ /* Copy data into destination sector. */
memcpy(current_buffer_ptr + copy_offset, memcpy(current_buffer_ptr + copy_offset, /* Use case of memcpy is verified. */
current_ptr + FX_FAULT_TOLERANT_DIR_LOG_ENTRY_SIZE, copy_size); current_ptr + FX_FAULT_TOLERANT_DIR_LOG_ENTRY_SIZE, copy_size);
} }
} }

View File

@ -33,7 +33,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_read_log_file PORTABLE C */ /* _fx_fault_tolerant_read_log_file PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -64,6 +64,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_read_log_file(FX_MEDIA *media_ptr) UINT _fx_fault_tolerant_read_log_file(FX_MEDIA *media_ptr)

View File

@ -33,7 +33,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_recover PORTABLE C */ /* _fx_fault_tolerant_recover PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -87,6 +87,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_recover(FX_MEDIA *media_ptr) UINT _fx_fault_tolerant_recover(FX_MEDIA *media_ptr)

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_reset_log_file PORTABLE C */ /* _fx_fault_tolerant_reset_log_file PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -84,6 +84,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/

View File

@ -33,7 +33,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_set_FAT_chain PORTABLE C */ /* _fx_fault_tolerant_set_FAT_chain PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -77,6 +77,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_set_FAT_chain(FX_MEDIA *media_ptr, UINT use_bitmap, ULONG insertion_front, UINT _fx_fault_tolerant_set_FAT_chain(FX_MEDIA *media_ptr, UINT use_bitmap, ULONG insertion_front,

View File

@ -32,7 +32,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_transaction_end PORTABLE C */ /* _fx_fault_tolerant_transaction_end PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -89,6 +89,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_transaction_end(FX_MEDIA *media_ptr) UINT _fx_fault_tolerant_transaction_end(FX_MEDIA *media_ptr)

View File

@ -31,7 +31,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_transaction_fail PORTABLE C */ /* _fx_fault_tolerant_transaction_fail PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -76,6 +76,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_transaction_fail(FX_MEDIA *media_ptr) UINT _fx_fault_tolerant_transaction_fail(FX_MEDIA *media_ptr)

View File

@ -32,7 +32,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_transaction_start PORTABLE C */ /* _fx_fault_tolerant_transaction_start PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -78,6 +78,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_transaction_start(FX_MEDIA *media_ptr) UINT _fx_fault_tolerant_transaction_start(FX_MEDIA *media_ptr)

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_fault_tolerant_write_log_file PORTABLE C */ /* _fx_fault_tolerant_write_log_file PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -71,6 +71,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_fault_tolerant_write_log_file(FX_MEDIA *media_ptr, ULONG relative_sector) UINT _fx_fault_tolerant_write_log_file(FX_MEDIA *media_ptr, ULONG relative_sector)

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_allocate PORTABLE C */ /* _fx_file_allocate PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -69,11 +69,16 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), and */
/* Added conditional to */
/* disable one line function, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
UINT _fx_file_allocate(FX_FILE *file_ptr, ULONG size) UINT _fx_file_allocate(FX_FILE *file_ptr, ULONG size)
{ {
return(_fx_file_extended_allocate(file_ptr, (ULONG64)size)); return(_fx_file_extended_allocate(file_ptr, (ULONG64)size));
} }
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */

View File

@ -37,7 +37,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_attributes_read PORTABLE C */ /* _fx_file_attributes_read PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -73,6 +73,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_attributes_read(FX_MEDIA *media_ptr, CHAR *file_name, UINT *attributes_ptr) UINT _fx_file_attributes_read(FX_MEDIA *media_ptr, CHAR *file_name, UINT *attributes_ptr)

View File

@ -40,7 +40,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_attributes_set PORTABLE C */ /* _fx_file_attributes_set PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -82,6 +82,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_attributes_set(FX_MEDIA *media_ptr, CHAR *file_name, UINT attributes) UINT _fx_file_attributes_set(FX_MEDIA *media_ptr, CHAR *file_name, UINT attributes)

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_best_effort_allocate PORTABLE C */ /* _fx_file_best_effort_allocate PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -72,6 +72,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_best_effort_allocate(FX_FILE *file_ptr, ULONG size, ULONG *actual_size_allocated) UINT _fx_file_best_effort_allocate(FX_FILE *file_ptr, ULONG size, ULONG *actual_size_allocated)

View File

@ -37,7 +37,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_close PORTABLE C */ /* _fx_file_close PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -69,6 +69,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_close(FX_FILE *file_ptr) UINT _fx_file_close(FX_FILE *file_ptr)

View File

@ -40,7 +40,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_create PORTABLE C */ /* _fx_file_create PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -86,6 +86,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_create(FX_MEDIA *media_ptr, CHAR *file_name) UINT _fx_file_create(FX_MEDIA *media_ptr, CHAR *file_name)

View File

@ -35,7 +35,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_date_time_set PORTABLE C */ /* _fx_file_date_time_set PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -75,6 +75,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_date_time_set(FX_MEDIA *media_ptr, CHAR *file_name, UINT _fx_file_date_time_set(FX_MEDIA *media_ptr, CHAR *file_name,

View File

@ -40,7 +40,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_delete PORTABLE C */ /* _fx_file_delete PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -87,6 +87,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_delete(FX_MEDIA *media_ptr, CHAR *file_name) UINT _fx_file_delete(FX_MEDIA *media_ptr, CHAR *file_name)

View File

@ -40,7 +40,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_extended_allocate PORTABLE C */ /* _fx_file_extended_allocate PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -90,6 +90,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_extended_allocate(FX_FILE *file_ptr, ULONG64 size) UINT _fx_file_extended_allocate(FX_FILE *file_ptr, ULONG64 size)

View File

@ -40,7 +40,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_extended_best_effort_allocate PORTABLE C */ /* _fx_file_extended_best_effort_allocate PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -91,6 +91,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_extended_best_effort_allocate(FX_FILE *file_ptr, ULONG64 size, ULONG64 *actual_size_allocated) UINT _fx_file_extended_best_effort_allocate(FX_FILE *file_ptr, ULONG64 size, ULONG64 *actual_size_allocated)

View File

@ -37,7 +37,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_extended_relative_seek PORTABLE C */ /* _fx_file_extended_relative_seek PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -77,6 +77,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_extended_relative_seek(FX_FILE *file_ptr, ULONG64 byte_offset, UINT seek_from) UINT _fx_file_extended_relative_seek(FX_FILE *file_ptr, ULONG64 byte_offset, UINT seek_from)

View File

@ -37,7 +37,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_extended_seek PORTABLE C */ /* _fx_file_extended_seek PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -71,6 +71,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_extended_seek(FX_FILE *file_ptr, ULONG64 byte_offset) UINT _fx_file_extended_seek(FX_FILE *file_ptr, ULONG64 byte_offset)

View File

@ -40,7 +40,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_extended_truncate PORTABLE C */ /* _fx_file_extended_truncate PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -79,6 +79,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_extended_truncate(FX_FILE *file_ptr, ULONG64 size) UINT _fx_file_extended_truncate(FX_FILE *file_ptr, ULONG64 size)

View File

@ -40,7 +40,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_extended_truncate_release PORTABLE C */ /* _fx_file_extended_truncate_release PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -86,6 +86,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_extended_truncate_release(FX_FILE *file_ptr, ULONG64 size) UINT _fx_file_extended_truncate_release(FX_FILE *file_ptr, ULONG64 size)

View File

@ -37,7 +37,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_open PORTABLE C */ /* _fx_file_open PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -75,12 +75,20 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), and */
/* added conditional to */
/* disable fast open and */
/* consecutive detect, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_open(FX_MEDIA *media_ptr, FX_FILE *file_ptr, CHAR *file_name, UINT open_type) UINT _fx_file_open(FX_MEDIA *media_ptr, FX_FILE *file_ptr, CHAR *file_name, UINT open_type)
{ {
UINT status, leading_consecutive; UINT status;
#ifndef FX_DISABLE_CONSECUTIVE_DETECT
UINT leading_consecutive;
#endif /* FX_DISABLE_CONSECUTIVE_DETECT */
ULONG cluster; ULONG cluster;
ULONG contents = 0; ULONG contents = 0;
ULONG open_count; ULONG open_count;
@ -92,7 +100,9 @@ ULONG cluster_count;
ULONG64 bytes_available; ULONG64 bytes_available;
ULONG64 bytes_remaining; ULONG64 bytes_remaining;
ULONG fat_last; ULONG fat_last;
#ifndef FX_DISABLE_FAST_OPEN
UINT fast_open; UINT fast_open;
#endif /* FX_DISABLE_FAST_OPEN */
UCHAR not_a_file_attr; UCHAR not_a_file_attr;
@ -134,6 +144,7 @@ UCHAR not_a_file_attr;
not_a_file_attr = FX_DIRECTORY | FX_VOLUME; not_a_file_attr = FX_DIRECTORY | FX_VOLUME;
} }
#ifndef FX_DISABLE_FAST_OPEN
/* Determine if a fast open is selected. */ /* Determine if a fast open is selected. */
if (open_type == FX_OPEN_FOR_READ_FAST) if (open_type == FX_OPEN_FOR_READ_FAST)
{ {
@ -150,6 +161,7 @@ UCHAR not_a_file_attr;
/* A fast open is not selected, set the flag to false. */ /* A fast open is not selected, set the flag to false. */
fast_open = FX_FALSE; fast_open = FX_FALSE;
} }
#endif /* FX_DISABLE_FAST_OPEN */
/* If trace is enabled, register this object. */ /* If trace is enabled, register this object. */
FX_TRACE_OBJECT_REGISTER(FX_TRACE_OBJECT_TYPE_FILE, file_ptr, file_name, 0, 0) FX_TRACE_OBJECT_REGISTER(FX_TRACE_OBJECT_TYPE_FILE, file_ptr, file_name, 0, 0)
@ -308,8 +320,12 @@ UCHAR not_a_file_attr;
last_cluster = 0; last_cluster = 0;
cluster_count = 0; cluster_count = 0;
#ifndef FX_DISABLE_CONSECUTIVE_DETECT
leading_consecutive = 1; leading_consecutive = 1;
#endif /* FX_DISABLE_CONSECUTIVE_DETECT */
file_ptr -> fx_file_consecutive_cluster = 1; file_ptr -> fx_file_consecutive_cluster = 1;
#ifndef FX_DISABLE_FAST_OPEN
/* Determine if the file is being open for reading with the fast option. */ /* Determine if the file is being open for reading with the fast option. */
if (fast_open) if (fast_open)
@ -329,6 +345,7 @@ UCHAR not_a_file_attr;
#endif /* FX_ENABLE_EXFAT */ #endif /* FX_ENABLE_EXFAT */
} }
else else
#endif /* FX_DISABLE_FAST_OPEN */
{ {
#ifdef FX_ENABLE_EXFAT #ifdef FX_ENABLE_EXFAT
@ -405,6 +422,8 @@ UCHAR not_a_file_attr;
return(FX_FAT_READ_ERROR); return(FX_FAT_READ_ERROR);
} }
#ifndef FX_DISABLE_CONSECUTIVE_DETECT
/* Check if present and next clusters are consecutive */ /* Check if present and next clusters are consecutive */
if (cluster + 1 == contents) if (cluster + 1 == contents)
{ {
@ -423,6 +442,7 @@ UCHAR not_a_file_attr;
/* The clusters are no longer consecutive, clear the consecutive flag. */ /* The clusters are no longer consecutive, clear the consecutive flag. */
leading_consecutive = 0; leading_consecutive = 0;
} }
#endif /* FX_DISABLE_CONSECUTIVE_DETECT */
/* Save the last valid cluster. */ /* Save the last valid cluster. */
last_cluster = cluster; last_cluster = cluster;

View File

@ -36,7 +36,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_read PORTABLE C */ /* _fx_file_read PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -76,6 +76,9 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), verified */
/* memcpy usage, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_read(FX_FILE *file_ptr, VOID *buffer_ptr, ULONG request_size, ULONG *actual_size) UINT _fx_file_read(FX_FILE *file_ptr, VOID *buffer_ptr, ULONG request_size, ULONG *actual_size)
@ -193,7 +196,7 @@ ULONG trace_timestamp;
} }
/* Actually perform the memory copy. */ /* Actually perform the memory copy. */
_fx_utility_memory_copy(((UCHAR *)media_ptr -> fx_media_memory_buffer) + _fx_utility_memory_copy(((UCHAR *)media_ptr -> fx_media_memory_buffer) + /* Use case of memcpy is verified. */
file_ptr -> fx_file_current_logical_offset, file_ptr -> fx_file_current_logical_offset,
destination_ptr, copy_bytes); destination_ptr, copy_bytes);
@ -291,7 +294,7 @@ ULONG trace_timestamp;
} }
/* Actually perform the memory copy. */ /* Actually perform the memory copy. */
_fx_utility_memory_copy((UCHAR *)media_ptr -> fx_media_memory_buffer, destination_ptr, media_ptr -> fx_media_bytes_per_sector); _fx_utility_memory_copy((UCHAR *)media_ptr -> fx_media_memory_buffer, destination_ptr, media_ptr -> fx_media_bytes_per_sector); /* Use case of memcpy is verified. */
} }
else else
{ {

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_relative_seek PORTABLE C */ /* _fx_file_relative_seek PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -74,11 +74,17 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), and */
/* Added conditional to */
/* disable one line function, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
UINT _fx_file_relative_seek(FX_FILE *file_ptr, ULONG byte_offset, UINT seek_from) UINT _fx_file_relative_seek(FX_FILE *file_ptr, ULONG byte_offset, UINT seek_from)
{ {
return(_fx_file_extended_relative_seek(file_ptr, (ULONG64)byte_offset, seek_from)); return(_fx_file_extended_relative_seek(file_ptr, (ULONG64)byte_offset, seek_from));
} }
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */

View File

@ -43,7 +43,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_rename PORTABLE C */ /* _fx_file_rename PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -87,6 +87,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_rename(FX_MEDIA *media_ptr, CHAR *old_file_name, CHAR *new_file_name) UINT _fx_file_rename(FX_MEDIA *media_ptr, CHAR *old_file_name, CHAR *new_file_name)

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_seek PORTABLE C */ /* _fx_file_seek PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -68,11 +68,16 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), and */
/* Added conditional to */
/* disable one line function, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
UINT _fx_file_seek(FX_FILE *file_ptr, ULONG byte_offset) UINT _fx_file_seek(FX_FILE *file_ptr, ULONG byte_offset)
{ {
return(_fx_file_extended_seek(file_ptr, (ULONG64) byte_offset)); return(_fx_file_extended_seek(file_ptr, (ULONG64) byte_offset));
} }
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_truncate PORTABLE C */ /* _fx_file_truncate PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -68,11 +68,16 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), and */
/* Added conditional to */
/* disable one line function, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
UINT _fx_file_truncate(FX_FILE *file_ptr, ULONG size) UINT _fx_file_truncate(FX_FILE *file_ptr, ULONG size)
{ {
return(_fx_file_extended_truncate(file_ptr, (ULONG64)size)); return(_fx_file_extended_truncate(file_ptr, (ULONG64)size));
} }
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_truncate_release PORTABLE C */ /* _fx_file_truncate_release PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -70,11 +70,17 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), and */
/* Added conditional to */
/* disable one line function, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
#ifndef FX_DISABLE_ONE_LINE_FUNCTION
UINT _fx_file_truncate_release(FX_FILE *file_ptr, ULONG size) UINT _fx_file_truncate_release(FX_FILE *file_ptr, ULONG size)
{ {
return(_fx_file_extended_truncate_release(file_ptr, (ULONG64)size)); return(_fx_file_extended_truncate_release(file_ptr, (ULONG64)size));
} }
#endif /* FX_DISABLE_ONE_LINE_FUNCTION */

View File

@ -39,7 +39,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_write PORTABLE C */ /* _fx_file_write PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -92,6 +92,9 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), verified */
/* memcpy usage, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_write(FX_FILE *file_ptr, VOID *buffer_ptr, ULONG size) UINT _fx_file_write(FX_FILE *file_ptr, VOID *buffer_ptr, ULONG size)
@ -1291,7 +1294,7 @@ UCHAR dont_use_fat_old = FX_FALSE; /* Used by exFAT logic to in
} }
/* Actually perform the memory copy. */ /* Actually perform the memory copy. */
_fx_utility_memory_copy(source_ptr, ((UCHAR *)media_ptr -> fx_media_memory_buffer) + _fx_utility_memory_copy(source_ptr, ((UCHAR *)media_ptr -> fx_media_memory_buffer) + /* Use case of memcpy is verified. */
file_ptr -> fx_file_current_logical_offset, file_ptr -> fx_file_current_logical_offset,
copy_bytes); copy_bytes);

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_file_write_notify_set PORTABLE C */ /* _fx_file_write_notify_set PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -67,6 +67,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_file_write_notify_set(FX_FILE *file_ptr, VOID (*file_write_notify)(FX_FILE *file)) UINT _fx_file_write_notify_set(FX_FILE *file_ptr, VOID (*file_write_notify)(FX_FILE *file))

View File

@ -37,7 +37,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_media_abort PORTABLE C */ /* _fx_media_abort PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -69,6 +69,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_media_abort(FX_MEDIA *media_ptr) UINT _fx_media_abort(FX_MEDIA *media_ptr)

View File

@ -36,7 +36,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_media_boot_info_extract PORTABLE C */ /* _fx_media_boot_info_extract PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -108,6 +108,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_media_boot_info_extract(FX_MEDIA *media_ptr) UINT _fx_media_boot_info_extract(FX_MEDIA *media_ptr)

View File

@ -35,7 +35,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_media_cache_invalidate PORTABLE C */ /* _fx_media_cache_invalidate PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -69,6 +69,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_media_cache_invalidate(FX_MEDIA *media_ptr) UINT _fx_media_cache_invalidate(FX_MEDIA *media_ptr)

View File

@ -57,7 +57,7 @@ typedef struct CURRENT_DIRECTORY_ENTRY_STRUCT
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_media_check PORTABLE C */ /* _fx_media_check PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -163,6 +163,8 @@ typedef struct CURRENT_DIRECTORY_ENTRY_STRUCT
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_media_check(FX_MEDIA *media_ptr, UCHAR *scratch_memory_ptr, ULONG scratch_memory_size, ULONG error_correction_option, ULONG *errors_detected) UINT _fx_media_check(FX_MEDIA *media_ptr, UCHAR *scratch_memory_ptr, ULONG scratch_memory_size, ULONG error_correction_option, ULONG *errors_detected)

View File

@ -35,7 +35,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_media_check_FAT_chain_check PORTABLE C */ /* _fx_media_check_FAT_chain_check PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -73,6 +73,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
ULONG _fx_media_check_FAT_chain_check(FX_MEDIA *media_ptr, ULONG starting_cluster, ULONG *last_valid_cluster, ULONG *total_valid_clusters, UCHAR *logical_fat) ULONG _fx_media_check_FAT_chain_check(FX_MEDIA *media_ptr, ULONG starting_cluster, ULONG *last_valid_cluster, ULONG *total_valid_clusters, UCHAR *logical_fat)

View File

@ -35,7 +35,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_media_check_lost_cluster_check PORTABLE C */ /* _fx_media_check_lost_cluster_check PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -74,6 +74,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
ULONG _fx_media_check_lost_cluster_check(FX_MEDIA *media_ptr, UCHAR *logical_fat, ULONG total_clusters, ULONG error_correction_option) ULONG _fx_media_check_lost_cluster_check(FX_MEDIA *media_ptr, UCHAR *logical_fat, ULONG total_clusters, ULONG error_correction_option)
@ -171,7 +173,7 @@ UINT status;
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_media_check_exFAT_lost_cluster_check PORTABLE C */ /* _fx_media_check_exFAT_lost_cluster_check PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -209,6 +211,8 @@ UINT status;
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
ULONG _fx_media_check_exFAT_lost_cluster_check(FX_MEDIA *media_ptr, UCHAR *logical_fat, ULONG total_clusters, ULONG error_correction_option) ULONG _fx_media_check_exFAT_lost_cluster_check(FX_MEDIA *media_ptr, UCHAR *logical_fat, ULONG total_clusters, ULONG error_correction_option)

View File

@ -38,7 +38,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_media_close PORTABLE C */ /* _fx_media_close PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -84,14 +84,22 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), and */
/* added conditional to */
/* disable file close */
/* and cache, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_media_close(FX_MEDIA *media_ptr) UINT _fx_media_close(FX_MEDIA *media_ptr)
{ {
FX_INT_SAVE_AREA FX_INT_SAVE_AREA
#ifndef FX_DISABLE_FILE_CLOSE
ULONG open_count; ULONG open_count;
FX_FILE *file_ptr; FX_FILE *file_ptr;
#endif /* FX_DISABLE_FILE_CLOSE */
UINT status; UINT status;
@ -112,6 +120,7 @@ UINT status;
/* Protect against other threads accessing the media. */ /* Protect against other threads accessing the media. */
FX_PROTECT FX_PROTECT
#ifndef FX_DISABLE_FILE_CLOSE
/* Loop through the media's open files. */ /* Loop through the media's open files. */
open_count = media_ptr -> fx_media_opened_file_count; open_count = media_ptr -> fx_media_opened_file_count;
file_ptr = media_ptr -> fx_media_opened_file_list; file_ptr = media_ptr -> fx_media_opened_file_list;
@ -178,6 +187,7 @@ UINT status;
file_ptr = file_ptr -> fx_file_opened_next; file_ptr = file_ptr -> fx_file_opened_next;
open_count--; open_count--;
} }
#endif /* FX_DISABLE_FILE_CLOSE */
/* Flush the cached individual FAT entries */ /* Flush the cached individual FAT entries */
_fx_utility_FAT_flush(media_ptr); _fx_utility_FAT_flush(media_ptr);
@ -224,12 +234,16 @@ UINT status;
ULONG signature; ULONG signature;
#ifndef FX_DISABLE_CACHE
/* Setup a pointer to the first cached entry's buffer. */ /* Setup a pointer to the first cached entry's buffer. */
buffer_ptr = (media_ptr -> fx_media_sector_cache_list_ptr) -> fx_cached_sector_memory_buffer; buffer_ptr = (media_ptr -> fx_media_sector_cache_list_ptr) -> fx_cached_sector_memory_buffer;
/* Invalidate this cache entry. */ /* Invalidate this cache entry. */
(media_ptr -> fx_media_sector_cache_list_ptr) -> fx_cached_sector = (~(ULONG64)0); (media_ptr -> fx_media_sector_cache_list_ptr) -> fx_cached_sector = (~(ULONG64)0);
(media_ptr -> fx_media_sector_cache_list_ptr) -> fx_cached_sector_valid = FX_FALSE; (media_ptr -> fx_media_sector_cache_list_ptr) -> fx_cached_sector_valid = FX_FALSE;
#else
buffer_ptr = media_ptr -> fx_media_memory_buffer;
#endif /* FX_DISABLE_CACHE */
/* Read the FAT32 additional information sector from the device. */ /* Read the FAT32 additional information sector from the device. */
media_ptr -> fx_media_driver_request = FX_DRIVER_READ; media_ptr -> fx_media_driver_request = FX_DRIVER_READ;

View File

@ -34,7 +34,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_media_close_notif_set PORTABLE C */ /* _fx_media_close_notif_set PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -66,6 +66,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_media_close_notify_set(FX_MEDIA *media_ptr, VOID (*media_close_notify)(FX_MEDIA *media)) UINT _fx_media_close_notify_set(FX_MEDIA *media_ptr, VOID (*media_close_notify)(FX_MEDIA *media))

View File

@ -449,7 +449,7 @@ const ULONG UpCaseTableCheckSum = 0xE619D30D;
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_media_exFAT_format PORTABLE C */ /* _fx_media_exFAT_format PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -510,6 +510,9 @@ const ULONG UpCaseTableCheckSum = 0xE619D30D;
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), verified */
/* memcpy usage, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_media_exFAT_format(FX_MEDIA *media_ptr, UINT _fx_media_exFAT_format(FX_MEDIA *media_ptr,
@ -628,11 +631,11 @@ UINT status;
/* Clear work buffer. */ /* Clear work buffer. */
_fx_utility_memory_set(byte_ptr, 0x00, FX_BOOT_SECTOR_SIZE); _fx_utility_memory_set(byte_ptr, 0x00, FX_BOOT_SECTOR_SIZE);
_fx_utility_memory_copy((UCHAR *)jump_boot, _fx_utility_memory_copy((UCHAR *)jump_boot, /* Use case of memcpy is verified. */
&byte_ptr[FX_JUMP_INSTR], &byte_ptr[FX_JUMP_INSTR],
sizeof(jump_boot)); sizeof(jump_boot));
_fx_utility_memory_copy((UCHAR *)file_system_name, _fx_utility_memory_copy((UCHAR *)file_system_name, /* Use case of memcpy is verified. */
&byte_ptr[FX_OEM_NAME], &byte_ptr[FX_OEM_NAME],
sizeof(file_system_name)); sizeof(file_system_name));
@ -800,7 +803,7 @@ UINT status;
offset = sizeof(fat_init_mask); offset = sizeof(fat_init_mask);
/* Copy the initial values for FAT table. */ /* Copy the initial values for FAT table. */
_fx_utility_memory_copy((UCHAR *)fat_init_mask, _fx_utility_memory_copy((UCHAR *)fat_init_mask, /* Use case of memcpy is verified. */
byte_ptr, byte_ptr,
sizeof(fat_init_mask)); sizeof(fat_init_mask));
@ -1076,7 +1079,7 @@ UINT status;
_fx_utility_memory_set(byte_ptr, 0x00, media_ptr -> fx_media_bytes_per_sector); _fx_utility_memory_set(byte_ptr, 0x00, media_ptr -> fx_media_bytes_per_sector);
/* Copy the remaining bytes. */ /* Copy the remaining bytes. */
_fx_utility_memory_copy((UCHAR *)_fx_utility_exFAT_upcase_table_compressed + sizeof(_fx_utility_exFAT_upcase_table_compressed) - i, byte_ptr, i); _fx_utility_memory_copy((UCHAR *)_fx_utility_exFAT_upcase_table_compressed + sizeof(_fx_utility_exFAT_upcase_table_compressed) - i, byte_ptr, i); /* Use case of memcpy is verified. */
/* Write out the sector. */ /* Write out the sector. */
status = _fx_utility_exFAT_system_sector_write(media_ptr, byte_ptr, status = _fx_utility_exFAT_system_sector_write(media_ptr, byte_ptr,

View File

@ -35,7 +35,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_media_extended_space_available PORTABLE C */ /* _fx_media_extended_space_available PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -68,6 +68,8 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_media_extended_space_available(FX_MEDIA *media_ptr, ULONG64 *available_bytes_ptr) UINT _fx_media_extended_space_available(FX_MEDIA *media_ptr, ULONG64 *available_bytes_ptr)

View File

@ -38,7 +38,7 @@
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_media_flush PORTABLE C */ /* _fx_media_flush PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -78,6 +78,10 @@
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), and */
/* added conditional to */
/* disable cache, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_media_flush(FX_MEDIA *media_ptr) UINT _fx_media_flush(FX_MEDIA *media_ptr)
@ -221,6 +225,7 @@ FX_INT_SAVE_AREA
UCHAR *buffer_ptr; UCHAR *buffer_ptr;
ULONG signature; ULONG signature;
#ifndef FX_DISABLE_CACHE
/* Setup a pointer to the first cached entry's buffer. */ /* Setup a pointer to the first cached entry's buffer. */
buffer_ptr = (media_ptr -> fx_media_sector_cache_list_ptr) -> fx_cached_sector_memory_buffer; buffer_ptr = (media_ptr -> fx_media_sector_cache_list_ptr) -> fx_cached_sector_memory_buffer;
@ -228,6 +233,9 @@ FX_INT_SAVE_AREA
/* Invalidate this cache entry. */ /* Invalidate this cache entry. */
(media_ptr -> fx_media_sector_cache_list_ptr) -> fx_cached_sector = (~(ULONG64)0); (media_ptr -> fx_media_sector_cache_list_ptr) -> fx_cached_sector = (~(ULONG64)0);
(media_ptr -> fx_media_sector_cache_list_ptr) -> fx_cached_sector_valid = FX_FALSE; (media_ptr -> fx_media_sector_cache_list_ptr) -> fx_cached_sector_valid = FX_FALSE;
#else
buffer_ptr = media_ptr -> fx_media_memory_buffer;
#endif /* FX_DISABLE_CACHE */
/* Read the FAT32 additional information sector from the device. */ /* Read the FAT32 additional information sector from the device. */
media_ptr -> fx_media_driver_request = FX_DRIVER_READ; media_ptr -> fx_media_driver_request = FX_DRIVER_READ;

View File

@ -59,7 +59,7 @@ ULONG _fx_media_format_volume_id = 1;
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_media_format PORTABLE C */ /* _fx_media_format PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -112,6 +112,10 @@ ULONG _fx_media_format_volume_id = 1;
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), and */
/* added conditional to */
/* disable force memset, */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT _fx_media_format(FX_MEDIA *media_ptr, VOID (*driver)(FX_MEDIA *media), VOID *driver_info_ptr, UCHAR *memory_ptr, UINT memory_size, UINT _fx_media_format(FX_MEDIA *media_ptr, VOID (*driver)(FX_MEDIA *media), VOID *driver_info_ptr, UCHAR *memory_ptr, UINT memory_size,
@ -178,6 +182,7 @@ UINT sectors_per_fat, f, s;
/* Move the buffer pointer into a local copy. */ /* Move the buffer pointer into a local copy. */
byte_ptr = media_ptr -> fx_media_driver_buffer; byte_ptr = media_ptr -> fx_media_driver_buffer;
#ifndef FX_DISABLE_FORCE_MEMORY_OPERATION
/* Clear the buffer record out, assuming it is large enough for one sector. */ /* Clear the buffer record out, assuming it is large enough for one sector. */
for (i = 0; i < bytes_per_sector; i++) for (i = 0; i < bytes_per_sector; i++)
{ {
@ -185,6 +190,9 @@ UINT sectors_per_fat, f, s;
/* Clear each byte of the boot record. */ /* Clear each byte of the boot record. */
byte_ptr[i] = (UCHAR)0; byte_ptr[i] = (UCHAR)0;
} }
#else
_fx_utility_memory_set(byte_ptr, 0, bytes_per_sector);
#endif /* FX_DISABLE_FORCE_MEMORY_OPERATION */
/* Set jump instruction at the beginning of the sector. */ /* Set jump instruction at the beginning of the sector. */
byte_ptr[0] = (UCHAR)0xEB; byte_ptr[0] = (UCHAR)0xEB;
@ -417,13 +425,16 @@ UINT sectors_per_fat, f, s;
} }
/* Now blank-pad the remainder of the volume name. */ /* Now blank-pad the remainder of the volume name. */
#ifndef FX_DISABLE_FORCE_MEMORY_OPERATION
while (i < 11) while (i < 11)
{ {
byte_ptr[j + i] = (UCHAR)' '; byte_ptr[j + i] = (UCHAR)' ';
i++; i++;
} }
#else
_fx_utility_memory_set(&byte_ptr[j + i], ' ', (11 - i));
#endif /* FX_DISABLE_FORCE_MEMORY_OPERATION */
#ifdef FX_FORCE_512_BYTE_BOOT_SECTOR #ifdef FX_FORCE_512_BYTE_BOOT_SECTOR
@ -466,11 +477,15 @@ UINT sectors_per_fat, f, s;
if ((total_clusters >= FX_16_BIT_FAT_SIZE) && (bytes_per_sector == 512)) if ((total_clusters >= FX_16_BIT_FAT_SIZE) && (bytes_per_sector == 512))
{ {
#ifndef FX_DISABLE_FORCE_MEMORY_OPERATION
/* Clear sector buffer. */ /* Clear sector buffer. */
for (i = 0; i < bytes_per_sector; i++) for (i = 0; i < bytes_per_sector; i++)
{ {
byte_ptr[i] = (CHAR)0; byte_ptr[i] = (CHAR)0;
} }
#else
_fx_utility_memory_set(byte_ptr, 0, bytes_per_sector);
#endif /* FX_DISABLE_FORCE_MEMORY_OPERATION */
/* Build the FSINFO fields. */ /* Build the FSINFO fields. */
@ -584,11 +599,15 @@ UINT sectors_per_fat, f, s;
i = 0; i = 0;
} }
#ifndef FX_DISABLE_FORCE_MEMORY_OPERATION
/* Clear remainder of sector buffer. */ /* Clear remainder of sector buffer. */
for (; i < bytes_per_sector; i++) for (; i < bytes_per_sector; i++)
{ {
byte_ptr[i] = (CHAR)0; byte_ptr[i] = (CHAR)0;
} }
#else
_fx_utility_memory_set(&byte_ptr[i], 0, (bytes_per_sector - i));
#endif /* FX_DISABLE_FORCE_MEMORY_OPERATION */
/* Build sector write command. */ /* Build sector write command. */
media_ptr -> fx_media_driver_logical_sector = reserved_sectors + (f * sectors_per_fat) + s; media_ptr -> fx_media_driver_logical_sector = reserved_sectors + (f * sectors_per_fat) + s;
@ -614,11 +633,15 @@ UINT sectors_per_fat, f, s;
} }
} }
#ifndef FX_DISABLE_FORCE_MEMORY_OPERATION
/* Clear sector buffer. */ /* Clear sector buffer. */
for (i = 0; i < bytes_per_sector; i++) for (i = 0; i < bytes_per_sector; i++)
{ {
byte_ptr[i] = (CHAR)0; byte_ptr[i] = (CHAR)0;
} }
#else
_fx_utility_memory_set(byte_ptr, 0, bytes_per_sector);
#endif /* FX_DISABLE_FORCE_MEMORY_OPERATION */
/* Now clear the root directory sectors. */ /* Now clear the root directory sectors. */
for (s = 0; s < root_sectors; s++) for (s = 0; s < root_sectors; s++)

View File

@ -40,7 +40,7 @@ UINT fx_media_format_oem_name_set(UCHAR new_oem_name[8]);
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_media_format_oem_name_set PORTABLE C */ /* _fx_media_format_oem_name_set PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -72,6 +72,8 @@ UINT fx_media_format_oem_name_set(UCHAR new_oem_name[8]);
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT fx_media_format_oem_name_set(UCHAR new_oem_name[8]) UINT fx_media_format_oem_name_set(UCHAR new_oem_name[8])

View File

@ -40,7 +40,7 @@ UINT fx_media_format_type_set(UCHAR new_media_type);
/* FUNCTION RELEASE */ /* FUNCTION RELEASE */
/* */ /* */
/* _fx_media_format_type_set PORTABLE C */ /* _fx_media_format_type_set PORTABLE C */
/* 6.0 */ /* 6.1 */
/* AUTHOR */ /* AUTHOR */
/* */ /* */
/* William E. Lamie, Microsoft Corporation */ /* William E. Lamie, Microsoft Corporation */
@ -71,6 +71,8 @@ UINT fx_media_format_type_set(UCHAR new_media_type);
/* DATE NAME DESCRIPTION */ /* DATE NAME DESCRIPTION */
/* */ /* */
/* 05-19-2020 William E. Lamie Initial Version 6.0 */ /* 05-19-2020 William E. Lamie Initial Version 6.0 */
/* 09-30-2020 William E. Lamie Modified comment(s), */
/* resulting in version 6.1 */
/* */ /* */
/**************************************************************************/ /**************************************************************************/
UINT fx_media_format_type_set(UCHAR new_media_type) UINT fx_media_format_type_set(UCHAR new_media_type)

Some files were not shown because too many files have changed in this diff Show More