1                                            FileX
2
3For version 6 and higher, please refer to the release notes on GitHub at https://github.com/eclipse-threadx/filex/releases.
4Below is the revision history for 5.x.
5
6
708/15/2019  FileX generic code version 5.7.  This release includes the following
8
9            Files modified or added to improve string length verification:
10
11            fx_api.h
12            fx_directory.h
13            fx_directory_exFAT_free_search.c
14            fx_directory_exFAT_unicode_entry_write.c
15            fx_directory_long_name_get.c
16            fx_directory_long_name_get_extended.c
17            fx_directory_short_name_get.c
18            fx_directory_short_name_get_extended.c
19            fx_media.h
20            fx_media_volume_get.c
21            fx_media_volume_get_extended.c
22            fx_system_initialize.c
23            fx_unicode.h
24            fx_utility_absolute_path_get.c
25            fx_unicode_directory_create.c
26            fx_unicode_directory_rename.c
27            fx_unicode_directory_search.c
28            fx_unicode_file_create.c
29            fx_unicode_file_rename.c
30            fx_unicode_length_get.c
31            fx_unicode_length_get_extended.c
32            fx_unicode_name_get.c
33            fx_unicode_name_get_extended.c
34            fx_unicode_short_name_get.c
35            fx_unicode_short_name_get_extended.c
36            fx_utility_token_length_get.c
37            fxe_directory_long_name_get_extended.c
38            fxe_directory_short_name_get_extended.c
39            fxe_media_volume_get_extended.c
40            fxe_unicode_name_get_extended.c
41            fxe_unicode_short_name_get_extended.c
42
43            Files modified to add zero divisor checking:
44
45            fx_directory_entry_read.c
46            fx_file_extended_allocate.c
47            fx_file_extended_best_effort_allocate.c
48            fx_file_extended_seek.c
49            fx_file_extended_truncate_release.c
50            fx_file_open.c
51            fx_file_write.c
52            fx_unicode_directory_entry_read.c
53            fx_utility_FAT_flush.c
54
55
56            The following files are modified:
57
58            fx_directory_free_search.c                      Added check for directory entry write result.
59            fx_directory_rename.c                           Skipped directory name exceeded maximum length.
60            fx_media_boot_info_extract.c                    Added fx_media_exfat_bytes_per_sector_shift value validation, fixed
61                                                              fx_media_exfat_sector_per_clusters_shift validation, fixed partition
62                                                              offset extraction for exFAT.
63            fx_media_exFAT_format.c                         Added check for invalid arguments, added media driver uninitialization.
64            fx_media_format.c                               Added check for invalid arguments.
65
66
6712/01/2018  FileX generic code version 5.6.  This release includes the following
68
69            fx_directory_create.c                           Skipped directory name exceeded maximum length.
70            fx_fault_tolerant_enable.c                      Updated the available clusters when
71                                                              additional information was used.
72            fx_fault_tolerant_write_log_file.c              Fixed read overflow of fault tolerant memory buffer.
73            fx_file_extended_allocate.c                     Corrected the file offset.
74            fx_file_extended_best_effort_allocate.c         Corrected the file offset.
75            fx_file_extended_truncate_release.c             Cleared FAT chain when fault tolerant was enabled.
76            fx_file_write.c                                 Fixed a bug of overwriting data when fault tolerant was enabled,
77                                                              improved overwrite performance when the data
78                                                              to be overwritten are in one sector.
79            fx_media_boot_info_extract.c                    Improved internal logic.
80            fx_media_check.c                                Fixed entries of root directory.
81            fx_media_check_FAT_chain_check.c                Fixed the up bound check for the value of cluster.
82            fx_media_flush.c                                Fixed a bug of missing bitmap flush for exFAT and fixed bug for exFAT directory entry write.
83            fx_media_close.c                                Fixed a bug for exFAT directory entry write.
84            fx_media_volume_get.c                           Supported space characters in volume name.
85                                                            Read volume name from boot sector if it
86                                                              is not found in directory sector.
87            fx_ram_driver.c                                 Checked buffer overflow.
88            fx_utility_logical_sector_write.c               Invalidated the cache entries when they were
89                                                              polluted by fault tolerant.
90            fx_directory_entry_write.c                      Fixed a bug that lower case name used for short name.
91            fx_media_open.c                                 Added the initialization of fx_media_FAT_type.
92                                                              Improved internal logic.
93            fx_user.h                                       Removed symbol FX_FAULT_TOLERANT_MINIMAL_CLUSTER.
94
95            Files modified to fix compiler warnings:
96
97            fx_directory_attributes_set.c
98            fx_directory_exFAT_entry_read.c
99            fx_media_check.c
100            fx_media_check_FAT_chain_check.c
101            fx_fault_tolerant_transaction_fail.c
102            fx_utility_exFAT_cluster_state_set.c
103
104            Files modified to add port-specific extended processing macros:
105
106            fx_fault_tolerant.h
107            fx_fault_tolerant_enable.c
108            fx_fault_tolerant_apply_logs.c
109            fx_fault_tolerant_write_log_file.c
110
111            Files modified to remove cluster limitation for fault tolerant feature:
112
113            fx_api.h
114            fx_fault_tolerant_create_log_file.c
115            fx_fault_tolerant_enable.c
116            fx_fault_tolerant_read_log_file.c
117            fx_fault_tolerant_write_log_file.c
118            fx_media_check.c
119
120            Files modified or added to fix reversed FAT chain update caused by FAT cache:
121
122            fx_api.h
123            fx_fault_tolerant_cleanup_FAT_chain.c
124            fx_fault_tolerant_enable.c
125            fx_file_extended_allocate.c
126            fx_utility.h
127            fx_utility_FAT_entry_write.c
128            fx_utility_FAT_flush.c
129            fx_utility_FAT_sector_get.c
130
131            Files modified to support exFAT media check:
132
133            fx_api.h
134            fx_media_check.c
135            fx_media_check_FAT_chain_check.c
136            fx_media_check_lost_cluster_check.c
137
138            Files are modified to avoid static analysis error report:
139
140            fx_directory_entry_read.c
141            fx_media_check.c
142            fx_media_volume_get.c
143            fx_unicode_directory_entry_change.c
144
145
14604/03/2017  FileX generic code version 5.5.  This release includes the following
147            modifications:
148
149            fx_api.h                                        Added a macro to disable warning of parameter not used.
150            fx_directory_entry_read.c                       Fixed a bug of checking incorrect dir_entries.
151            fx_directory_entry_write.c                      Modified logic to better handle short name processing, corrected
152                                                              last cluster check, and added port-specific extended processing macro.
153                                                              Removed unreachable code.
154            fx_directory_free_search.c                      Corrected the method to determine whether a directory entry is free.
155            fx_directory_next_entry_finc.d                  Corrected the method to determine whether a directory entry is free.
156            fx_directory_next_full_entry_find.c             Corrected the method to determine whether a directory entry is free.
157            fx_directory_search.c                           Removed unnecessary check and avoided potential illegal accessing.
158            fx_fault_tolerant.h                             Corrected the variable name in FX_FAULT_TOLERANT_TRANSACTION_FAIL,
159                                                              defined macros of fault tolerant state as unsigned const number.
160            fx_fault_tolerant_cleanup_FAT_chain.c           Removed an unused variable.
161            fx_fault_tolerant_enable.c                      Fixed a bug that mutex was not released before return.
162            fx_file_delete.c                                Removed unreachable code.
163            fx_file_extended_allocate.c                     Added exFAT conditional, modified maximum file size logic,
164                                                              modified file pointer update logic when at the end of the file and
165                                                              removed unreachable code.
166            fx_file_extended_seek.c                         Modified FAT chain error logic and removed an unnecessary assignment.
167            fx_file_extended_truncate_release.c             Modified I/O and FAT chain error logic, and simplified the cluster
168                                                              count calculation, fixed compiler warnings, removed an unnecessary
169                                                              assignment.
170            fx_file_open.c                                  Cleared the write notify function pointer, disabled
171                                                              needless overflow checking and ensured all variables initialized
172                                                              before being accessed.
173            fx_file_write.c                                 Fixed last cluster relative cluster when fault tolerant was enabled.
174                                                              Fixed FAT chain when it was allocated previously.
175                                                              Removed unreachable code and uninitialized variables.
176            fx_media_check.c                                Fixed FAT chain check when fault tolerant is enabled.
177                                                              Corrected the method to determine whether a directory entry is free.
178            fx_media_open.c                                 Removed unnecessary check, changed the initialization of cache entries.
179                                                              Fixed compiler warnings.
180                                                              Modified the check of return value for exFAT.
181            fx_media_volume_set.c                           Corrected the method to determine whether a directory entry is free.
182            fx_unicode_directory_create.c                   Optimized the logic to get short name.
183                                                              Fixed a bug that mutex was not released.
184            fx_unicode_directory_entry_change.c             Simplified logic, removed unreachable code and removed an unnecessary
185                                                              assignment.
186            fx_unicode_directory_entry_read.c               Removed unsafe cast.
187            fx_unicode_directory_rename.c                   Fixed bugs to rename to existing directory name and to continue
188                                                              running while FX_ALREADY_CREATED is not returned.
189                                                              Optimized the logic to get short name.
190            fx_unicode_directory_search.c                   Removed unreachable branches.
191            fx_unicode_file_create.c                        Optimized the logic to get short name.
192            fx_unicode_file_rename.c                        Optimized the logic to get short name.
193            fx_unicode_short_name_get.c                     Simplified logic.
194            fx_utility_exFAT_bitmap_free_cluster_find.c     Unified the return value for exFAT and FAT.
195            fx_utility_exFAT_bitmap_cache_prepare.c         Unified the return value for exFAT and FAT.
196            fx_utility_FAT_flush.c                          Removed an unnecessary assignment and corrected an error in type casting.
197            fx_utility_logical_sector_flush.c               Added port-specific extended processing macro.
198                                                              Optimized out bitset comparisons.
199                                                              Reordered sector validity testing for performance.
200                                                              Removed unreachable code.
201            fx_utility_logical_sector_read.c                Added port-specific extended processing macros.
202                                                              Removed redundant cached sector validity checks.
203                                                              Removed unreachable code.
204            fxe_file_write_notify_set.c                     Fixed the function name.
205
206
207            Files added:
208
209            fx_fault_tolerant_transaction_fail.c            Cleanup resources created by fault tolerant when transaction fails.
210
211
212            Files modified to check unicode zero in string:
213
214            fxe_unicode_directory_create.c
215            fxe_unicode_directory_rename.c
216            fxe_unicode_file_create.c
217            fxe_unicode_file_rename.c
218            fxe_unicode_short_name_get.c
219
220
221            Files modified to fix compiler warnings:
222
223            fx_directory_create.c
224            fx_directory_entry_read.c
225            fx_directory_entry_write.c
226            fx_directory_exFAT_entry_read.c
227            fx_directory_exFAT_unicode_entry_write.c
228            fx_directory.h
229            fx_directory_next_entry_find.c
230            fx_directory_next_full_entry_find.c
231            fx_directory_rename.c
232            fx_directory_search.c
233            fxe_directory_attributes_set.c
234            fxe_file_attributes_set.c
235            fx_fault_tolerant_add_checksum_log.c
236            fx_fault_tolerant_apply_logs.c
237            fx_fault_tolerant_calculate_checksum.c
238            fx_fault_tolerant.h
239            fx_fault_tolerant_read_directory_sector.c
240            fx_fault_tolerant_read_FAT.c
241            fx_fault_tolerant_set_FAT_chain.c
242            fx_file_create.c
243            fx_file_extended_allocate.c
244            fx_file_extended_best_effort_allocate.c
245            fx_file_extended_truncate.c
246            fx_file_extended_truncate_release.c
247            fx_file_open.c
248            fx_file_rename.c
249            fx_file_write.c
250            fx_media_boot_info_extract.c
251            fx_media_check.c
252            fx_media_check_FAT_chain_check.c
253            fx_media_exFAT_format.c
254            fx_media_format.c
255            fx_media_open.c
256            fx_media_volume_get.c
257            fx_media_volume_set.c
258            fx_ram_driver.c
259            fx_trace_event_insert.c
260            fx_trace_event_update.c
261            fx_trace_object_register.c
262            fx_trace_object_unregister.c
263            fx_unicode_directory_create.c
264            fx_unicode_directory_rename.c
265            fx_unicode_directory_search.c
266            fx_unicode_file_create.c
267            fx_unicode_file_rename.c
268            fx_utility_exFAT_allocate_new_cluster.c
269            fx_utility_exFAT_bitmap_start_sector_get.c
270            fx_utility_exFAT_cluster_state_set.c
271            fx_utility_exFAT_name_hash_get.c
272            fx_utility_exFAT_system_sector_write.c
273            fx_utility_exFAT_unicode_name_hash_get.c
274            fx_utility_exFAT_upcase_table.c
275            fx_utility_FAT_flush.c
276            fx_utility_FAT_map_flush.c
277            fx_utility.h
278            fx_utility_logical_sector_cache_entry_read.c
279            fx_utility_logical_sector_flush.c
280            fx_utility_logical_sector_write.c
281
282
28304/15/2016  FileX generic code version 5.4.  This release includes the following
284            modifications:
285
286            fx_api.h                                        Defined the update rate of system timer.
287
288            fx_user.h                                       Modified the default values of symbols,
289                                                            added new symbols for fault tolerant and 64-bit sector addresses in I/O driver.
290
291            fx_media_close.c                                Checked the return status of directory entry write.
292
293            Files modified to cleanup internal logic:
294
295            fx_directory_default_set.c
296            fx_directory_entry_read.c
297            fx_directory_exFAT_entry_read.c
298            fx_directory_exFAT_unicode_entry_write.c
299            fx_directory_next_entry_find.c
300            fx_directory_next_full_entry_find.c
301            fx_directory_search.c
302            fx_fault_tolerant_cleanup_FAT_chain.c
303            fx_fault_tolerant_create_log_file.c
304            fx_file_attributes_read.c
305            fx_file_attributes_set.c
306            fx_file_delete.c
307            fx_file_extended_allocate.c
308            fx_file_extended_best_effort_allocate.c
309            fx_file_extended_seek.c
310            fx_file_extended_truncate.c
311            fx_file_extended_truncate_release.c
312            fx_file_open.c
313            fx_file_write.c
314            fx_media_check_FAT_chain_check.c
315            fx_media_check_lost_cluster_check.c
316            fx_media_open.c
317            fx_system_initialize.c
318            fx_unicode_directory_entry_read.c
319            fx_unicode_directory_search.c
320            fx_utility_exFAT_allocate_new_cluster.c
321            fx_utility_exFAT_cluster_free.c
322            fx_utility_FAT_map_flush.c
323
324
32511/01/2015  FileX generic code version 5.3.  This release includes the following
326            modifications:
327
328            fx_api.h                                        Added major/minor release defines,
329                                                            added support for exFAT, added fault
330                                                            tolerant support, changed the initial
331                                                            date, and added new APIs.
332            fx_system.h                                     Added define for timer ID.
333            fx_unicode_directory_search.c                   Used FAT reserved and FAT last from
334                                                            media structure, fixed data compare
335                                                            between singed and unsigned char.
336            fx_system_initialize.c                          Fixed compiler warnings.
337            fx_system_timer_entry.c                         Added check for timer ID.
338            fx_trace_event_insert.c                         Added conditional compilation logic.
339            fx_trace_event_update.c                         Added conditional compilation logic.
340            fx_trace_object_register.c                      Added conditional compilation logic.
341            fx_trace_object_unregister.c                    Added conditional compilation logic.
342
343            Files added to support exFAT:
344
345            fx_directory_exFAT.h
346            fx_directory_exFAT_entry_read.c
347            fx_directory_exFAT_entry_write.c
348            fx_directory_exFAT_free_search.c
349            fx_directory_exFAT_unicode_entry_write.c
350            fx_file_extended_allocate.c
351            fx_file_extended_best_effort_allocate.c
352            fx_file_extended_relative_seek.c
353            fx_file_extended_seek.c
354            fx_file_extended_truncate.c
355            fx_file_extended_truncate_release.c
356            fx_media_exFAT_format.c
357            fx_media_extended_space_available.c
358            fx_unicode_directory_rename.c
359            fx_unicode_file_rename.c
360            fx_utility_64_unsigned_read.c
361            fx_utility_64_unsigned_write.c
362            fx_utility_absolute_path_get.c
363            fx_utility_exFAT_allocate_new_cluster.c
364            fx_utility_exFAT_bitmap_cache_prepare.c
365            fx_utility_exFAT_bitmap_cache_update.c
366            fx_utility_exFAT_bitmap_flush.c
367            fx_utility_exFAT_bitmap_free_cluster_find.c
368            fx_utility_exFAT_bitmap_initialize.c
369            fx_utility_exFAT_bitmap_start_sector_get.c
370            fx_utility_exFAT_cluster_free.c
371            fx_utility_exFAT_cluster_state_get.c
372            fx_utility_exFAT_cluster_state_set.c
373            fx_utility_exFAT_geometry_check.c
374            fx_utility_exFAT_name_hash_get.c
375            fx_utility_exFAT_size_calculate.c
376            fx_utility_exFAT_system_area_checksum_verify.c
377            fx_utility_exFAT_system_area_checksum_write.c
378            fx_utility_exFAT_system_area_format.c
379            fx_utility_exFAT_system_sector_write.c
380            fx_utility_exFAT_unicode_name_hash_get.c
381            fx_utility_exFAT_upcase_table.c
382            fx_utility_memory_set.c
383            fx_utility_string_length_get.c
384            fx_utility_token_length_get.c
385            fxe_file_extended_allocate.c
386            fxe_file_extended_best_effort_allocate.c
387            fxe_file_extended_relative_seek.c
388            fxe_file_extended_seek.c
389            fxe_file_extended_truncate.c
390            fxe_file_extended_truncate_release.c
391            fxe_media_exFAT_format.c
392            fxe_media_extended_space_available.c
393            fxe_unicode_directory_rename.c
394            fxe_unicode_file_rename.c
395
396            Files added to support fault tolerant:
397
398            fx_api.h
399            fx_fault_tolerant.h
400            fx_fault_tolerant_add_bitmap_log.c
401            fx_fault_tolerant_add_checksum_log.c
402            fx_fault_tolerant_add_dir_log.c
403            fx_fault_tolerant_add_FAT_log.c
404            fx_fault_tolerant_apply_logs.c
405            fx_fault_tolerant_calculate_checksum.c
406            fx_fault_tolerant_cleanup_FAT_chain.c
407            fx_fault_tolerant_create_log_file.c
408            fx_fault_tolerant_enable.c
409            fx_fault_tolerant_read_directory_sector.c
410            fx_fault_tolerant_read_FAT.c
411            fx_fault_tolerant_revolver.c
412            fx_fault_tolerant_reset_log_file.c
413            fx_fault_tolerant_set_FAT_chain.c
414            fx_fault_tolerant_transaction_end.c
415            fx_fault_tolerant_transaction_start.c
416            fx_fault_tolerant_write_log_file.c
417            fxe_fault_tolerant_enable.c
418
419
420
421            Files added to support notify functions:
422
423
424            fx_file_write_notify_set.c
425            fx_media_close_notify_set.c
426            fx_media_open_notify_set.c
427            fxe_file_write_notify_set.c
428            fxe_media_close_notify_set.c
429            fxe_media_open_notify_set.c
430
431
432            Files modified to support exFAT and fault tolerant:
433
434            fx_directory.h
435            fx_directory_attributes_read.c
436            fx_directory_attributes_set.c
437            fx_directory_create.c
438            fx_directory_default_get.c
439            fx_directory_default_set.c
440            fx_directory_delete.c
441            fx_directory_entry_read.c
442            fx_directory_entry_write.c
443            fx_directory_first_entry_find.c
444            fx_directory_first_full_entry_find.c
445            fx_directory_free_search.c
446            fx_directory_information_get.c
447            fx_directory_local_path_clear.c
448            fx_directory_local_path_get.c
449            fx_directory_local_path_restore.c
450            fx_directory_local_path_set.c
451            fx_directory_long_name_get.c
452            fx_directory_name_extract.c
453            fx_directory_name_test.c
454            fx_directory_next_entry_find.c
455            fx_directory_next_full_entry_find.c
456            fx_directory_rename.c
457            fx_directory_search.c
458            fx_directory_short_name_get.c
459            fx_file_open.c
460            fx_file_read.c
461            fx_file_relative_seek.c
462            fx_file_rename.c
463            fx_file_seek.c
464            fx_file_truncate.c
465            fx_file_truncate_release.c
466            fx_file_write.c
467            fx_media.h fx_media_abort.c
468            fx_media_boot_info_extract.c
469            fx_media_cache_invalidate.c
470            fx_media_check.c
471            fx_media_check_FAT_chain_check.c
472            fx_media_check_lost_cluster_check.c
473            fx_media_close.c
474            fx_media_flush.c
475            fx_media_format.c
476            fx_media_open.c
477            fx_media_read.c
478            fx_media_space_available.c
479            fx_media_volume_get.c
480            fx_media_volume_set.c
481            fx_media_write.c
482            fx_ram_driver.c
483            fx_system.h
484            fx_system_date_get.c
485            fx_system_date_set.c
486            fx_system_initialize.c
487            fx_system_time_get.c
488            fx_system_time_set.c
489            fx_system_timer_entry.c
490            fx_trace_event_insert.c
491            fx_trace_event_update.c
492            fx_trace_object_register.c
493            fx_trace_object_unregister.c
494            fx_unicode.h
495            fx_unicode_directory_create.c
496            fx_unicode_directory_entry_change.c
497            fx_unicode_directory_entry_read.c
498            fx_unicode_directory_search.c
499            fx_unicode_file_create.c
500            fx_unicode_length_get.c
501            fx_unicode_name_get.c
502            fx_unicode_short_name_get.c
503            fx_user.h
504            fx_utility.h
505            fx_utility_16_unsigned_read.c
506            fx_utility_16_unsigned_write.c
507            fx_utility_32_unsigned_read.c
508            fx_utility_32_unsigned_write.c
509            fx_utility_FAT_entry_read.c
510            fx_utility_FAT_entry_write.c
511            fx_utility_FAT_flush.c
512            fx_utility_FAT_map_flush.c
513            fx_utility_logical_sector_cache_entry_read.c
514            fx_utility_logical_sector_flush.c
515            fx_utility_logical_sector_read.c
516            fx_utility_logical_sector_write.c
517            fx_utility_memory_copy.c
518            fxe_directory_attributes_read.c
519            fxe_directory_attributes_set.c
520            fxe_directory_create.c
521            fxe_directory_default_get.c
522            fxe_directory_default_set.c
523            fxe_directory_delete.c
524            fxe_directory_first_entry_find.c
525            fxe_directory_first_full_entry_find.c
526            fxe_directory_information_get.c
527            fxe_directory_local_path_clear.c
528            fxe_directory_local_path_get.c
529            fxe_directory_local_path_restore.c
530            fxe_directory_local_path_set.c
531            fxe_directory_long_name_get.c
532            fxe_directory_name_test.c
533            fxe_directory_next_entry_find.c
534            fxe_directory_next_full_entry_find.c
535            fxe_directory_rename.c
536            fxe_directory_short_name_get.c
537            fxe_file_allocate.c
538            fxe_file_attributes_read.c
539            fxe_file_attributes_set.c
540            fxe_file_best_effort_allocate.c
541            fxe_file_close.c
542            fxe_file_create.c
543            fxe_file_date_time_set.c
544            fxe_file_delete.c
545            fxe_file_open.c
546            fxe_file_read.c
547            fxe_file_relative_seek.c
548            fxe_file_rename.c
549            fxe_file_seek.c
550            fxe_file_truncate.c
551            fxe_file_truncate_release.c
552            fxe_file_write.c
553            fxe_media_abort.c
554            fxe_media_cache_invalidate.c
555            fxe_media_check.c
556            fxe_media_close.c
557            fxe_media_flush.c
558            fxe_media_format.c
559            fxe_media_open.c
560            fxe_media_read.c
561            fxe_media_space_available.c
562            fxe_media_volume_get.c
563            fxe_media_volume_set.c
564            fxe_media_write.c
565            fxe_system_date_get.c
566            fxe_system_date_set.c
567            fxe_system_time_get.c
568            fxe_system_time_set.c
569            fxe_unicode_directory_create.c
570            fxe_unicode_file_create.c
571            fxe_unicode_name_get.c
572            fxe_unicode_short_name_get.c
573
574
575
57603/01/2009  FileX generic code version 5.2. This release includes the following
577            modifications:
578
579            fx_api.h                                        Added logic for trace support, added macros
580                                                            to override interrupt protection in port
581                                                            files to simply use ThreadX interrupt macros.
582            fx_user.h                                       Added new conditional define to support
583                                                            disabling of cache fill on direct reads.
584            fx_directory_information_get.c                  Added logic to look for the most current
585                                                            file size.
586            fx_directory_rename.c                           Corrected compile problem when search
587                                                            cache is disabled.
588            fx_file_rename.c                                Corrected compile problem when search
589                                                            cache is disabled.
590            fx_media_check.c                                Corrected check for valid directory entry.
591            fx_media_check_lost_cluster_check.c             Corrected update of available clusters.
592            fx_media_open.c                                 Corrected compiler warning.
593            fx_media_space_available.c                      Added logic to report at least 4GB if there
594                                                            is more than 4GB free.
595            fx_system_initialize.c                          Added trace capability.
596            fx_trace_object_register.c                      Added new file to register object in trace.
597            fx_trace_object_unregister.c                    Added new file to unregister object in trace.
598            fx_trace_event_insert.c                         Added new file to insert trace event.
599            fx_utility_logical_sector_flush.c               Added safety check on cache size.
600            fx_utility_logical_sector_read.c                Added conditional to disable direct read
601                                                            updates of the logical sector cache.
602            fx*.c                                           Added trace logic.
603            fx*.h                                           Modified comment(s).
604            fx*.c                                           Modified comment(s).
605
606
60707/18/2007  FileX generic code version 5.1. This release includes the following
608            modifications:
609
610            fx_api.h                                        Changed the default file and path length
611                                                            to 256, added burst cache disable flags
612                                                            to the media and file structures, added boot
613                                                            signature offset for FAT32, added volume ID
614                                                            offset for FAT32, changed size of rename
615                                                            buffer, and changed UL to ULONG cast.
616            fx_directory_entry_read.c                       Removed an unnecessary length check.
617            fx_directory_entry_write.c                      Corrected short name issue with an
618                                                            exact 8.3 long name that only has
619                                                            lower case letter(s), and added logic
620                                                            to create short names in the format
621                                                            xxx~NNNN.ext where NNNN is a number from
622                                                            0 to 0xFFFF in hex.
623            fx_directory_rename.c                           Changed loops to not exceed maximum path constant,
624                                                            and added logic to support simple directory
625                                                            case change rename requests.
626            fx_directory_search.c                           Added array boundary checks.
627            fx_file_allocate.c                              Changed logic to write out new information
628                                                            regardless of whether or not the file
629                                                            already had clusters allocated, added
630                                                            conditional logic to update file size,
631                                                            and changed UL to ULONG cast.
632            fx_file_open.c                                  Added initialization of the burst cache flag,
633                                                            and changed UL to ULONG cast.
634            fx_file_read.c                                  Added setup of burst cache flag.
635            fx_file_rename.c                                Changed loops to not exceed maximum path constant,
636                                                            and added logic to support simple file
637                                                            case change rename requests.
638            fx_file_seek.c                                  Added check to return if we are already
639                                                            at the desired offset.
640            fx_file_truncate_release.c                      Added logic to check status return from
641                                                            several calls.
642            fx_file_write.c                                 Changed UL to ULONG cast.
643            fx_media_abort.c                                Corrected logic removing FX_MEDIA
644                                                            structure.
645            fx_media_check.c                                Added error checking.
646            fx_media_check_lost_cluster_check.c             Added logic to check status return from
647                                                            FAT read call.
648            fx_media_close.c                                Changed UL to ULONG cast, and added
649                                                            fx_media_abort calls in several
650                                                            error paths.
651            fx_media_flush.c                                Changed UL to ULONG cast.
652            fx_media_format.c                               Added OEM name support, added media
653                                                            type setup, added boot signature setup,
654                                                            added volume id setup, and corrected
655                                                            volume name offset problem.
656            fx_media_open.c                                 Added disable of burst cache, and changed
657                                                            UL to ULONG cast.
658            fx_system_initialize.c                          Changed UL to ULONG cast.
659            fx_unicode_directory_entry_read.c               Removed an unnecessary length check.
660            fx_utility_FAT_entry_read.c                     Moved the FAT flush to before any additional
661                                                            sectors are read.
662            fx_utility_logical_sector_cache_entry_read.c    Corrected problem finding hashed
663                                                            cache entries.
664            fx_utility_logical_sector_flush.c               Changed UL to ULONG cast.
665            fx_utility_logical_sector_read.c                Changed UL to ULONG cast.
666            fx_utility_logical_sector_write.c               Changed UL to ULONG cast.
667            fx_media_format_type_set.c                      Added new FileX utility.
668            fx_media_format_volume_id_set.c                 Added new FileX utility.
669            fx_media_format_oem_name_set.c                  Added new FileX utility.
670            fx*.h                                           Modified comment(s).
671            fx*.c                                           Modified comment(s).
672
67312/12/2005  Initial FileX generic code version 5.0.
674