ASF docs  3.1.3
Some important library documentation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
fs_com.h File Reference
#include "conf_explorer.h"
+ Include dependency graph for fs_com.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Fs_index

Macros

#define _GLOBEXT_   extern
 Used to have a clear code with only one segment to define a variable in project.
Modes of file name control functions
#define FS_NAME_GET   true
#define FS_NAME_CHECK   false
Modes of disk serial number function
#define FS_SN_READ   true
#define FS_SN_WRITE   false
Modes of disk label function
#define FS_LABEL_READ   true
#define FS_LABEL_WRITE   false
Status returned by paste file function
#define COPY_BUSY   0x00
#define COPY_FAIL   0x01
#define COPY_FINISH   0x02
Date field managed by date control functions
#define FS_DATE_CREATION   true
#define FS_DATE_LAST_WRITE   false
File entry types used by many functions
#define FS_FILE   true
#define FS_DIR   false
Directory identifier, which corresponding at the first cluster of directory cluster list
#define FS_ID_DIR_EMPTY   0xFFFFFFFF
#define FS_ID_DIR_ROOT   0
File entry attributes
#define FS_ATTR_FILE   ((Byte)0x00)
#define FS_ATTR_READ_ONLY   ((Byte)0x01)
#define FS_ATTR_HIDDEN   ((Byte)0x02)
#define FS_ATTR_SYSTEM   ((Byte)0x04)
#define FS_ATTR_VOLUME_ID   ((Byte)0x08)
#define FS_ATTR_DIRECTORY   ((Byte)0x10)
#define FS_ATTR_ARCHIVE   ((Byte)0x20)
#define FS_ATTR_LFN_ENTRY   ((Byte)0x0F)
#define Fat_is_not_a_file   ((FS_ATTR_DIRECTORY & fs_g_nav_entry.u8_attr) || (FS_ATTR_VOLUME_ID & fs_g_nav_entry.u8_attr))
File open modes
#define FOPEN_READ_ACCESS   0x01
#define FOPEN_WRITE_ACCESS   0x02
#define FOPEN_CLEAR_SIZE   0x04
#define FOPEN_CLEAR_PTR   0x08
#define FOPEN_MODE_R   (FOPEN_READ_ACCESS|FOPEN_CLEAR_PTR)
 R access, flux pointer = 0, size not modify.
#define FOPEN_MODE_R_PLUS   (FOPEN_READ_ACCESS|FOPEN_WRITE_ACCESS|FOPEN_CLEAR_PTR)
 R/W access, flux pointer = 0, size not modify.
#define FOPEN_MODE_W   (FOPEN_WRITE_ACCESS|FOPEN_CLEAR_PTR|FOPEN_CLEAR_SIZE)
 W access, flux pointer = 0, size = 0.
#define FOPEN_MODE_W_PLUS   (FOPEN_READ_ACCESS|FOPEN_WRITE_ACCESS|FOPEN_CLEAR_PTR|FOPEN_CLEAR_SIZE)
 R/W access, flux pointer = 0, size = 0.
#define FOPEN_MODE_APPEND   (FOPEN_WRITE_ACCESS)
 W access, flux pointer = at the end, size not modify.
Value to signal the end of file after a file_getc() call
#define FS_EOF   0xFFFF
Options of format function
#define FS_FORMAT_DEFAULT   0x01
 The format routine chooses the better FAT for the device.
#define FS_FORMAT_FAT   0x02
 Force FAT12 or FAT16 format.
#define FS_FORMAT_FAT32   0x03
 Force FAT32 format.
#define FS_FORMAT_NOMBR_FLAG   0x80
 MBR is mandatory for USB device on MacOS, and no MBR is mandatory for CD-ROM USB device on Windows.
#define FS_FORMAT_DEFAULT_NOMBR   (FS_FORMAT_NOMBR_FLAG | FS_FORMAT_DEFAULT)
#define FS_FORMAT_FAT_NOMBR   (FS_FORMAT_NOMBR_FLAG | FS_FORMAT_FAT)
#define FS_FORMAT_FAT32_NOMBR   (FS_FORMAT_NOMBR_FLAG | FS_FORMAT_FAT32)
File System errors list
#define FS_ERR_HW   (FAIL+0)
 Hardware driver error.
#define FS_ERR_NO_FORMAT   (FAIL+1)
 The selected drive isn't formated.
#define FS_ERR_NO_PART   (FAIL+2)
 The selected partition doesn't existed.
#define FS_ERR_NO_SUPPORT_PART   (FAIL+3)
 The selected partition isn't supported.
#define FS_ERR_TOO_FILE_OPEN   (FAIL+4)
 The navigation have already opened a file.
#define FS_ERR_END_OF_DRIVE   (FAIL+5)
 There are not other driver.
#define FS_ERR_BAD_POS   (FAIL+6)
 The position is over the file.
#define FS_ERR_FS   (FAIL+7)
 File system error.
#define FS_ERR_NO_FIND   (FAIL+8)
 File no found.
#define FS_ERR_ENTRY_EMPTY   (FAIL+9)
 File entry empty.
#define FS_ERR_ENTRY_BAD   (FAIL+10)
 File entry bad.
#define FS_ERR_ENTRY_BADTYPE   (FAIL+11)
 File entry type don't corresponding.
#define FS_ERR_NO_DIR   (FAIL+12)
 The selected file isn't a directory.
#define FS_ERR_NO_MOUNT   (FAIL+13)
 The partition isn't mounted.
#define FS_ERR_NO_FILE_SEL   (FAIL+14)
 There are no selected file.
#define FS_NO_LAST_LFN_ENTRY   (FAIL+15)
 The file entry isn't the last long file entry.
#define FS_ERR_ID_FILE   (FAIL+17)
 The file identifier is bad.
#define FS_ERR_NO_FILE   (FAIL+18)
 The selected file entry isn't a file.
#define FS_LUN_WP   (FAIL+19)
 Drive is in read only mode.
#define FS_ERR_READ_ONLY   (FAIL+20)
 File is on read access only.
#define FS_ERR_NAME_INCORRECT   (FAIL+21)
 The name don't corresponding at the filter name.
#define FS_ERR_FILE_NO_OPEN   (FAIL+22)
 No file is opened.
#define FS_ERR_HW_NO_PRESENT   (FAIL+23)
 Device is not present.
#define FS_ERR_IS_ROOT   (FAIL+24)
 There aren't parent because the current directory is a root directory.
#define FS_ERR_OUT_LIST   (FAIL+25)
 The position is outside the cluster list.
#define FS_ERR_NO_FREE_SPACE   (FAIL+26)
 No free cluster found in FAT.
#define FS_ERR_INCORRECT_NAME   (FAIL+27)
 Incorrect name, this one cannot contain any of the following characters \/:*?"<>|.
#define FS_ERR_DIR_NOT_EMPTY   (FAIL+28)
 This function erases only file and empty directory.
#define FS_ERR_WRITE_ONLY   (FAIL+29)
 File is on write access only.
#define FS_ERR_MODE_NOAVIALABLE   (FAIL+30)
 This open mode isn't available.
#define FS_ERR_EOF   (FAIL+31)
 End of file.
#define FS_ERR_BAD_SIZE_FAT   (FAIL+32)
 The disk size is not supported by selected FAT format.
#define FS_ERR_COMMAND   (FAIL+33)
 This command is not supported.
#define FS_ERR_BUFFER_FULL   (FAIL+34)
 Buffer is too small.
#define FS_ERR_COPY_DIR   (FAIL+35)
 Directory copy is not supported.
#define FS_ERR_COPY_RUNNING   (FAIL+36)
 A copy action is always running.
#define FS_ERR_COPY_IMPOSSIBLE   (FAIL+37)
 The copy is impossible.
#define FS_ERR_BAD_NAV   (FAIL+38)
 The navigator identifier doesn't existed.
#define FS_ERR_FILE_OPEN   (FAIL+39)
 The file is already opened.
#define FS_ERR_FILE_OPEN_WR   (FAIL+40)
 The file is already opened in write mode.
#define FS_ERR_FILE_EXIST   (FAIL+41)
 The file is already existed.
#define FS_ERR_NAME_TOO_LARGE   (FAIL+42)
 The file name is too large (>260 characters)
#define FS_ERR_DEVICE_TOO_SMALL   (FAIL+43)
 The disk size is too small for format routine.
#define FS_ERR_PL_NOT_OPEN   (FAIL+50)
 The play list isn't opened.
#define FS_ERR_PL_ALREADY_OPEN   (FAIL+51)
 The play list is already opened.
#define FS_ERR_PL_LST_END   (FAIL+52)
 You are at the end of play list.
#define FS_ERR_PL_LST_BEG   (FAIL+53)
 You are at the beginning of play list.
#define FS_ERR_PL_OUT_LST   (FAIL+54)
 You are outside of the play list.
#define FS_ERR_PL_READ_ONLY   (FAIL+55)
 Impossible to modify the play list.
Compilation feature levels
#define FSFEATURE_READ   0x00
 All read functions.
#define FSFEATURE_WRITE   0x02
 nav_file_copy(), nav_file_paste(), nav_file_del(), file_create(), file_open(MODE_WRITE), file_write(), file_putc()
#define FSFEATURE_WRITE_COMPLET   0x06
 FSFEATURE_WRITE + nav_drive_format(), nav_dir_make(), nav_file_rename(), nav_file_dateset(), nav_file_attributset()
#define FSFEATURE_ALL   0xFF
 All file system module.

Typedefs

String types depend of ASCII and UNICODE options
typedef uint16_t UNICODE
typedef char _MEM_TYPE_SLOW_ * FS_STRING
typedef UNICODE _MEM_TYPE_SLOW_ * FS_STR_UNICODE
Status type for the file system
typedef uint8_t Fs_status

Variables

Global status of file system module (used to return error number)
_GLOBEXT_ _MEM_TYPE_SLOW_ Fs_status fs_g_status

Data Structure Documentation

struct Fs_index

Definition at line 179 of file fs_com.h.

Data Fields
uint16_t u16_entry_pos_sel_file
uint32_t u32_cluster_sel_dir
uint8_t u8_lun
uint8_t u8_partition

Macro Definition Documentation

#define _GLOBEXT_   extern

Definition at line 56 of file fs_com.h.

#define COPY_BUSY   0x00

Definition at line 105 of file fs_com.h.

#define COPY_FAIL   0x01

Definition at line 106 of file fs_com.h.

#define COPY_FINISH   0x02

Definition at line 107 of file fs_com.h.

#define Fat_is_not_a_file   ((FS_ATTR_DIRECTORY & fs_g_nav_entry.u8_attr) || (FS_ATTR_VOLUME_ID & fs_g_nav_entry.u8_attr))

Definition at line 138 of file fs_com.h.

#define FOPEN_CLEAR_PTR   0x08

Definition at line 146 of file fs_com.h.

#define FOPEN_CLEAR_SIZE   0x04

Definition at line 145 of file fs_com.h.

#define FOPEN_MODE_APPEND   (FOPEN_WRITE_ACCESS)

Definition at line 151 of file fs_com.h.

#define FOPEN_MODE_R   (FOPEN_READ_ACCESS|FOPEN_CLEAR_PTR)

Definition at line 147 of file fs_com.h.

#define FOPEN_MODE_R_PLUS   (FOPEN_READ_ACCESS|FOPEN_WRITE_ACCESS|FOPEN_CLEAR_PTR)

Definition at line 148 of file fs_com.h.

Definition at line 149 of file fs_com.h.

Definition at line 150 of file fs_com.h.

#define FOPEN_READ_ACCESS   0x01

Definition at line 143 of file fs_com.h.

#define FOPEN_WRITE_ACCESS   0x02

Definition at line 144 of file fs_com.h.

#define FS_ATTR_ARCHIVE   ((Byte)0x20)

Definition at line 136 of file fs_com.h.

#define FS_ATTR_DIRECTORY   ((Byte)0x10)

Definition at line 135 of file fs_com.h.

#define FS_ATTR_FILE   ((Byte)0x00)

Definition at line 130 of file fs_com.h.

#define FS_ATTR_HIDDEN   ((Byte)0x02)

Definition at line 132 of file fs_com.h.

#define FS_ATTR_LFN_ENTRY   ((Byte)0x0F)

Definition at line 137 of file fs_com.h.

#define FS_ATTR_READ_ONLY   ((Byte)0x01)

Definition at line 131 of file fs_com.h.

#define FS_ATTR_SYSTEM   ((Byte)0x04)

Definition at line 133 of file fs_com.h.

#define FS_ATTR_VOLUME_ID   ((Byte)0x08)

Definition at line 134 of file fs_com.h.

#define FS_DATE_CREATION   true

Definition at line 112 of file fs_com.h.

#define FS_DATE_LAST_WRITE   false

Definition at line 113 of file fs_com.h.

#define FS_DIR   false

Definition at line 119 of file fs_com.h.

#define FS_EOF   0xFFFF

Definition at line 155 of file fs_com.h.

#define FS_ERR_BAD_NAV   (FAIL+38)

Definition at line 231 of file fs_com.h.

#define FS_ERR_BAD_POS   (FAIL+6)

Definition at line 199 of file fs_com.h.

#define FS_ERR_BAD_SIZE_FAT   (FAIL+32)

Definition at line 225 of file fs_com.h.

#define FS_ERR_BUFFER_FULL   (FAIL+34)

Definition at line 227 of file fs_com.h.

#define FS_ERR_COMMAND   (FAIL+33)

Definition at line 226 of file fs_com.h.

#define FS_ERR_COPY_DIR   (FAIL+35)

Definition at line 228 of file fs_com.h.

#define FS_ERR_COPY_IMPOSSIBLE   (FAIL+37)

Definition at line 230 of file fs_com.h.

#define FS_ERR_COPY_RUNNING   (FAIL+36)

Definition at line 229 of file fs_com.h.

#define FS_ERR_DEVICE_TOO_SMALL   (FAIL+43)

Definition at line 236 of file fs_com.h.

#define FS_ERR_DIR_NOT_EMPTY   (FAIL+28)

Definition at line 221 of file fs_com.h.

#define FS_ERR_END_OF_DRIVE   (FAIL+5)

Definition at line 198 of file fs_com.h.

#define FS_ERR_ENTRY_BAD   (FAIL+10)

Definition at line 203 of file fs_com.h.

#define FS_ERR_ENTRY_BADTYPE   (FAIL+11)

Definition at line 204 of file fs_com.h.

#define FS_ERR_ENTRY_EMPTY   (FAIL+9)

Definition at line 202 of file fs_com.h.

#define FS_ERR_EOF   (FAIL+31)

Definition at line 224 of file fs_com.h.

#define FS_ERR_FILE_EXIST   (FAIL+41)

Definition at line 234 of file fs_com.h.

#define FS_ERR_FILE_NO_OPEN   (FAIL+22)

Definition at line 215 of file fs_com.h.

#define FS_ERR_FILE_OPEN   (FAIL+39)

Definition at line 232 of file fs_com.h.

#define FS_ERR_FILE_OPEN_WR   (FAIL+40)

Definition at line 233 of file fs_com.h.

#define FS_ERR_FS   (FAIL+7)

Definition at line 200 of file fs_com.h.

#define FS_ERR_HW   (FAIL+0)

Definition at line 193 of file fs_com.h.

#define FS_ERR_HW_NO_PRESENT   (FAIL+23)

Definition at line 216 of file fs_com.h.

#define FS_ERR_ID_FILE   (FAIL+17)

Definition at line 210 of file fs_com.h.

#define FS_ERR_INCORRECT_NAME   (FAIL+27)

Definition at line 220 of file fs_com.h.

#define FS_ERR_IS_ROOT   (FAIL+24)

Definition at line 217 of file fs_com.h.

#define FS_ERR_MODE_NOAVIALABLE   (FAIL+30)

Definition at line 223 of file fs_com.h.

#define FS_ERR_NAME_INCORRECT   (FAIL+21)

Definition at line 214 of file fs_com.h.

#define FS_ERR_NAME_TOO_LARGE   (FAIL+42)

Definition at line 235 of file fs_com.h.

#define FS_ERR_NO_DIR   (FAIL+12)

Definition at line 205 of file fs_com.h.

#define FS_ERR_NO_FILE   (FAIL+18)

Definition at line 211 of file fs_com.h.

#define FS_ERR_NO_FILE_SEL   (FAIL+14)

Definition at line 207 of file fs_com.h.

#define FS_ERR_NO_FIND   (FAIL+8)

Definition at line 201 of file fs_com.h.

#define FS_ERR_NO_FORMAT   (FAIL+1)

Definition at line 194 of file fs_com.h.

#define FS_ERR_NO_FREE_SPACE   (FAIL+26)

Definition at line 219 of file fs_com.h.

#define FS_ERR_NO_MOUNT   (FAIL+13)

Definition at line 206 of file fs_com.h.

#define FS_ERR_NO_PART   (FAIL+2)

Definition at line 195 of file fs_com.h.

#define FS_ERR_NO_SUPPORT_PART   (FAIL+3)

Definition at line 196 of file fs_com.h.

#define FS_ERR_OUT_LIST   (FAIL+25)

Definition at line 218 of file fs_com.h.

#define FS_ERR_PL_ALREADY_OPEN   (FAIL+51)

Definition at line 239 of file fs_com.h.

#define FS_ERR_PL_LST_BEG   (FAIL+53)

Definition at line 241 of file fs_com.h.

#define FS_ERR_PL_LST_END   (FAIL+52)

Definition at line 240 of file fs_com.h.

#define FS_ERR_PL_NOT_OPEN   (FAIL+50)

Definition at line 238 of file fs_com.h.

#define FS_ERR_PL_OUT_LST   (FAIL+54)

Definition at line 242 of file fs_com.h.

#define FS_ERR_PL_READ_ONLY   (FAIL+55)

Definition at line 243 of file fs_com.h.

#define FS_ERR_READ_ONLY   (FAIL+20)

Definition at line 213 of file fs_com.h.

#define FS_ERR_TOO_FILE_OPEN   (FAIL+4)

Definition at line 197 of file fs_com.h.

#define FS_ERR_WRITE_ONLY   (FAIL+29)

Definition at line 222 of file fs_com.h.

#define FS_FILE   true

Definition at line 118 of file fs_com.h.

#define FS_FORMAT_DEFAULT   0x01

Definition at line 159 of file fs_com.h.

#define FS_FORMAT_DEFAULT_NOMBR   (FS_FORMAT_NOMBR_FLAG | FS_FORMAT_DEFAULT)

Definition at line 163 of file fs_com.h.

#define FS_FORMAT_FAT   0x02

Definition at line 160 of file fs_com.h.

#define FS_FORMAT_FAT32   0x03

Definition at line 161 of file fs_com.h.

#define FS_FORMAT_FAT32_NOMBR   (FS_FORMAT_NOMBR_FLAG | FS_FORMAT_FAT32)

Definition at line 165 of file fs_com.h.

#define FS_FORMAT_FAT_NOMBR   (FS_FORMAT_NOMBR_FLAG | FS_FORMAT_FAT)

Definition at line 164 of file fs_com.h.

#define FS_FORMAT_NOMBR_FLAG   0x80

Definition at line 162 of file fs_com.h.

#define FS_ID_DIR_EMPTY   0xFFFFFFFF

Definition at line 124 of file fs_com.h.

#define FS_ID_DIR_ROOT   0

Definition at line 125 of file fs_com.h.

#define FS_LABEL_READ   true

Definition at line 99 of file fs_com.h.

#define FS_LABEL_WRITE   false

Definition at line 100 of file fs_com.h.

#define FS_LUN_WP   (FAIL+19)

Definition at line 212 of file fs_com.h.

#define FS_NAME_CHECK   false

Definition at line 88 of file fs_com.h.

#define FS_NAME_GET   true

Definition at line 87 of file fs_com.h.

#define FS_NO_LAST_LFN_ENTRY   (FAIL+15)

Definition at line 208 of file fs_com.h.

#define FS_SN_READ   true

Definition at line 93 of file fs_com.h.

#define FS_SN_WRITE   false

Definition at line 94 of file fs_com.h.

#define FSFEATURE_ALL   0xFF

Definition at line 252 of file fs_com.h.

#define FSFEATURE_READ   0x00

Definition at line 249 of file fs_com.h.

#define FSFEATURE_WRITE   0x02

Definition at line 250 of file fs_com.h.

#define FSFEATURE_WRITE_COMPLET   0x06

Definition at line 251 of file fs_com.h.


Typedef Documentation

typedef uint8_t Fs_status

Definition at line 257 of file fs_com.h.

typedef UNICODE _MEM_TYPE_SLOW_* FS_STR_UNICODE

Definition at line 175 of file fs_com.h.

typedef char _MEM_TYPE_SLOW_* FS_STRING

Definition at line 174 of file fs_com.h.

typedef uint16_t UNICODE

Definition at line 173 of file fs_com.h.


Variable Documentation

_GLOBEXT_ _MEM_TYPE_SLOW_ Fs_status fs_g_status

Definition at line 259 of file fs_com.h.