fs_com.h File Reference

FAT 12/16/32 Services. More...

#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

Defines

#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_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 U16 UNICODE
typedef char
_MEM_TYPE_SLOW_ * 
FS_STRING
typedef UNICODE
_MEM_TYPE_SLOW_ * 
FS_STR_UNICODE
Status type for the file system
typedef U8 Fs_status

Variables

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


Detailed Description

FAT 12/16/32 Services.

This file provides a set of definitions for FAT module interface.

Author:
Atmel Corporation: http://www.atmel.com
Support and FAQ: http://support.atmel.no/

Definition in file fs_com.h.


Define Documentation

#define _GLOBEXT_   extern

Used to have a clear code with only one segment to define a variable in project.

Definition at line 50 of file fs_com.h.

#define FS_NAME_GET   TRUE

Definition at line 81 of file fs_com.h.

#define FS_NAME_CHECK   FALSE

Definition at line 82 of file fs_com.h.

#define FS_SN_READ   TRUE

Definition at line 87 of file fs_com.h.

#define FS_SN_WRITE   FALSE

Definition at line 88 of file fs_com.h.

#define FS_LABEL_READ   TRUE

Definition at line 93 of file fs_com.h.

#define FS_LABEL_WRITE   FALSE

Definition at line 94 of file fs_com.h.

#define COPY_BUSY   0x00

Definition at line 99 of file fs_com.h.

#define COPY_FAIL   0x01

Definition at line 100 of file fs_com.h.

#define COPY_FINISH   0x02

Definition at line 101 of file fs_com.h.

#define FS_DATE_CREATION   TRUE

Definition at line 106 of file fs_com.h.

#define FS_DATE_LAST_WRITE   FALSE

Definition at line 107 of file fs_com.h.

#define FS_FILE   TRUE

Definition at line 112 of file fs_com.h.

#define FS_DIR   FALSE

Definition at line 113 of file fs_com.h.

#define FS_ID_DIR_EMPTY   0xFFFFFFFF

Definition at line 118 of file fs_com.h.

#define FS_ID_DIR_ROOT   0

Definition at line 119 of file fs_com.h.

#define FS_ATTR_FILE   ((Byte)0x00)

Definition at line 124 of file fs_com.h.

#define FS_ATTR_READ_ONLY   ((Byte)0x01)

Definition at line 125 of file fs_com.h.

#define FS_ATTR_HIDDEN   ((Byte)0x02)

Definition at line 126 of file fs_com.h.

#define FS_ATTR_SYSTEM   ((Byte)0x04)

Definition at line 127 of file fs_com.h.

#define FS_ATTR_VOLUME_ID   ((Byte)0x08)

Definition at line 128 of file fs_com.h.

#define FS_ATTR_DIRECTORY   ((Byte)0x10)

Definition at line 129 of file fs_com.h.

#define FS_ATTR_ARCHIVE   ((Byte)0x20)

Definition at line 130 of file fs_com.h.

#define FS_ATTR_LFN_ENTRY   ((Byte)0x0F)

Definition at line 131 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 132 of file fs_com.h.

#define FOPEN_READ_ACCESS   0x01

Definition at line 137 of file fs_com.h.

#define FOPEN_WRITE_ACCESS   0x02

Definition at line 138 of file fs_com.h.

#define FOPEN_CLEAR_SIZE   0x04

Definition at line 139 of file fs_com.h.

#define FOPEN_CLEAR_PTR   0x08

Definition at line 140 of file fs_com.h.

#define FOPEN_MODE_R   (FOPEN_READ_ACCESS|FOPEN_CLEAR_PTR)

R access, flux pointer = 0, size not modify.

Definition at line 141 of file fs_com.h.

#define FOPEN_MODE_R_PLUS   (FOPEN_READ_ACCESS|FOPEN_WRITE_ACCESS|FOPEN_CLEAR_PTR)

R/W access, flux pointer = 0, size not modify.

Definition at line 142 of file fs_com.h.

#define FOPEN_MODE_W   (FOPEN_WRITE_ACCESS|FOPEN_CLEAR_PTR|FOPEN_CLEAR_SIZE)

W access, flux pointer = 0, size = 0.

Definition at line 143 of file fs_com.h.

#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.

Definition at line 144 of file fs_com.h.

#define FOPEN_MODE_APPEND   (FOPEN_WRITE_ACCESS)

W access, flux pointer = at the end, size not modify.

Definition at line 145 of file fs_com.h.

#define FS_EOF   0xFFFF

Definition at line 149 of file fs_com.h.

#define FS_FORMAT_DEFAULT   0x01

The format routine chooses the better FAT for the device.

Definition at line 153 of file fs_com.h.

#define FS_FORMAT_FAT   0x02

Force FAT12 or FAT16 format.

Definition at line 154 of file fs_com.h.

#define FS_FORMAT_FAT32   0x03

Force FAT32 format.

Definition at line 155 of file fs_com.h.

#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.

Definition at line 156 of file fs_com.h.

#define FS_FORMAT_DEFAULT_NOMBR   (FS_FORMAT_NOMBR_FLAG | FS_FORMAT_DEFAULT)

Definition at line 157 of file fs_com.h.

#define FS_FORMAT_FAT_NOMBR   (FS_FORMAT_NOMBR_FLAG | FS_FORMAT_FAT)

Definition at line 158 of file fs_com.h.

#define FS_FORMAT_FAT32_NOMBR   (FS_FORMAT_NOMBR_FLAG | FS_FORMAT_FAT32)

Definition at line 159 of file fs_com.h.

#define FS_ERR_HW   (FAIL+0)

Hardware driver error.

Definition at line 187 of file fs_com.h.

#define FS_ERR_NO_FORMAT   (FAIL+1)

The selected drive isn't formated.

Definition at line 188 of file fs_com.h.

#define FS_ERR_NO_PART   (FAIL+2)

The selected partition doesn't existed.

Definition at line 189 of file fs_com.h.

#define FS_ERR_NO_SUPPORT_PART   (FAIL+3)

The selected partition isn't supported.

Definition at line 190 of file fs_com.h.

#define FS_ERR_TOO_FILE_OPEN   (FAIL+4)

The navigation have already opened a file.

Definition at line 191 of file fs_com.h.

#define FS_ERR_END_OF_DRIVE   (FAIL+5)

There are not other driver.

Definition at line 192 of file fs_com.h.

#define FS_ERR_BAD_POS   (FAIL+6)

The position is over the file.

Definition at line 193 of file fs_com.h.

#define FS_ERR_FS   (FAIL+7)

File system error.

Definition at line 194 of file fs_com.h.

#define FS_ERR_NO_FIND   (FAIL+8)

File no found.

Definition at line 195 of file fs_com.h.

#define FS_ERR_ENTRY_EMPTY   (FAIL+9)

File entry empty.

Definition at line 196 of file fs_com.h.

#define FS_ERR_ENTRY_BAD   (FAIL+10)

File entry bad.

Definition at line 197 of file fs_com.h.

#define FS_ERR_ENTRY_BADTYPE   (FAIL+11)

File entry type don't corresponding.

Definition at line 198 of file fs_com.h.

#define FS_ERR_NO_DIR   (FAIL+12)

The selected file isn't a directory.

Definition at line 199 of file fs_com.h.

#define FS_ERR_NO_MOUNT   (FAIL+13)

The partition isn't mounted.

Definition at line 200 of file fs_com.h.

#define FS_ERR_NO_FILE_SEL   (FAIL+14)

There are no selected file.

Definition at line 201 of file fs_com.h.

#define FS_NO_LAST_LFN_ENTRY   (FAIL+15)

The file entry isn't the last long file entry.

Definition at line 202 of file fs_com.h.

#define FS_ERR_ID_FILE   (FAIL+17)

The file identifier is bad.

Definition at line 204 of file fs_com.h.

#define FS_ERR_NO_FILE   (FAIL+18)

The selected file entry isn't a file.

Definition at line 205 of file fs_com.h.

#define FS_LUN_WP   (FAIL+19)

Drive is in read only mode.

Definition at line 206 of file fs_com.h.

#define FS_ERR_READ_ONLY   (FAIL+20)

File is on read access only.

Definition at line 207 of file fs_com.h.

#define FS_ERR_NAME_INCORRECT   (FAIL+21)

The name don't corresponding at the filter name.

Definition at line 208 of file fs_com.h.

#define FS_ERR_FILE_NO_OPEN   (FAIL+22)

No file is opened.

Definition at line 209 of file fs_com.h.

#define FS_ERR_HW_NO_PRESENT   (FAIL+23)

Device is not present.

Definition at line 210 of file fs_com.h.

#define FS_ERR_IS_ROOT   (FAIL+24)

There aren't parent because the current directory is a root directory.

Definition at line 211 of file fs_com.h.

#define FS_ERR_OUT_LIST   (FAIL+25)

The position is outside the cluster list.

Definition at line 212 of file fs_com.h.

#define FS_ERR_NO_FREE_SPACE   (FAIL+26)

No free cluster found in FAT.

Definition at line 213 of file fs_com.h.

#define FS_ERR_INCORRECT_NAME   (FAIL+27)

Incorrect name, this one cannot contain any of the following characters \/:*?"<>|.

Definition at line 214 of file fs_com.h.

#define FS_ERR_DIR_NOT_EMPTY   (FAIL+28)

This function erases only file and empty directory.

Definition at line 215 of file fs_com.h.

#define FS_ERR_WRITE_ONLY   (FAIL+29)

File is on write access only.

Definition at line 216 of file fs_com.h.

#define FS_ERR_MODE_NOAVIALABLE   (FAIL+30)

This open mode isn't available.

Definition at line 217 of file fs_com.h.

#define FS_ERR_EOF   (FAIL+31)

End of file.

Definition at line 218 of file fs_com.h.

#define FS_ERR_BAD_SIZE_FAT   (FAIL+32)

The disk size is not supported by selected FAT format.

Definition at line 219 of file fs_com.h.

#define FS_ERR_COMMAND   (FAIL+33)

This command is not supported.

Definition at line 220 of file fs_com.h.

#define FS_ERR_BUFFER_FULL   (FAIL+34)

Buffer is too small.

Definition at line 221 of file fs_com.h.

#define FS_ERR_COPY_DIR   (FAIL+35)

Directory copy is not supported.

Definition at line 222 of file fs_com.h.

#define FS_ERR_COPY_RUNNING   (FAIL+36)

A copy action is always running.

Definition at line 223 of file fs_com.h.

#define FS_ERR_COPY_IMPOSSIBLE   (FAIL+37)

The copy is impossible.

Definition at line 224 of file fs_com.h.

#define FS_ERR_BAD_NAV   (FAIL+38)

The navigator identifier doesn't existed.

Definition at line 225 of file fs_com.h.

#define FS_ERR_FILE_OPEN   (FAIL+39)

The file is already opened.

Definition at line 226 of file fs_com.h.

#define FS_ERR_FILE_OPEN_WR   (FAIL+40)

The file is already opened in write mode.

Definition at line 227 of file fs_com.h.

#define FS_ERR_FILE_EXIST   (FAIL+41)

The file is already existed.

Definition at line 228 of file fs_com.h.

#define FS_ERR_NAME_TOO_LARGE   (FAIL+42)

The file name is too large (>260 characters).

Definition at line 229 of file fs_com.h.

#define FS_ERR_PL_NOT_OPEN   (FAIL+50)

The play list isn't opened.

Definition at line 231 of file fs_com.h.

#define FS_ERR_PL_ALREADY_OPEN   (FAIL+51)

The play list is already opened.

Definition at line 232 of file fs_com.h.

#define FS_ERR_PL_LST_END   (FAIL+52)

You are at the end of play list.

Definition at line 233 of file fs_com.h.

#define FS_ERR_PL_LST_BEG   (FAIL+53)

You are at the beginning of play list.

Definition at line 234 of file fs_com.h.

#define FS_ERR_PL_OUT_LST   (FAIL+54)

You are outside of the play list.

Definition at line 235 of file fs_com.h.

#define FS_ERR_PL_READ_ONLY   (FAIL+55)

Impossible to modify the play list.

Definition at line 236 of file fs_com.h.

#define FSFEATURE_READ   0x00

All read functions.

Definition at line 242 of file fs_com.h.

#define FSFEATURE_WRITE   0x02

nav_file_copy(), nav_file_paste(), nav_file_del(), file_create(), file_open(MODE_WRITE), file_write(), file_putc()

Definition at line 243 of file fs_com.h.

#define FSFEATURE_WRITE_COMPLET   0x06

FSFEATURE_WRITE + nav_drive_format(), nav_dir_make(), nav_file_rename(), nav_file_dateset(), nav_file_attributset().

Definition at line 244 of file fs_com.h.

#define FSFEATURE_ALL   0xFF

All file system module.

Definition at line 245 of file fs_com.h.


Typedef Documentation

typedef U16 UNICODE

Definition at line 167 of file fs_com.h.

typedef char _MEM_TYPE_SLOW_* FS_STRING

Definition at line 168 of file fs_com.h.

typedef UNICODE _MEM_TYPE_SLOW_* FS_STR_UNICODE

Definition at line 169 of file fs_com.h.

typedef U8 Fs_status

Definition at line 250 of file fs_com.h.


Variable Documentation

_MEM_TYPE_SLOW_ Fs_status fs_g_status


Generated on Fri Oct 31 15:09:01 2008 for ATMEL by  doxygen 1.5.3