source: soft/giet_vm/giet_fat32/fat32_shared.h @ 664

Last change on this file since 664 was 664, checked in by guerin, 9 years ago

fat32: generic error codes

Instead of having unique error codes per function, define an error
code map. Return more meaningful codes to the user.

File size: 3.0 KB
Line 
1////////////////////////////////////////////////////////////////////////////////
2// File     : fat32_shared.h
3// Date     : 27/07/2015
4// Author   : Clément Guérin
5// Copyright (c) UPMC-LIP6
6////////////////////////////////////////////////////////////////////////////////
7
8#ifndef _FAT32_SHARED
9#define _FAT32_SHARED
10
11/********************************************************************************
12  This struct is used by _fat_file_info().
13********************************************************************************/
14
15typedef struct fat_file_info_s
16{
17    unsigned int size;      // size in bytes
18    unsigned int offset;    // offset in bytes
19    unsigned int is_dir;    // is the file a directory
20}   fat_file_info_t;
21
22/********************************************************************************
23  This struct is used by _fat_readdir(). It describes a directory entry.
24********************************************************************************/
25
26typedef struct fat_dirent_s
27{
28    unsigned int cluster;   // cluster index
29    unsigned int size;      // size in bytes
30    unsigned int is_dir;    // is the entry a directory
31    char name[36];          // entry name
32}   fat_dirent_t;
33
34/********************************************************************************
35  _fat_open() flags.
36********************************************************************************/
37
38#define O_RDONLY                0x01
39#define O_TRUNC                 0x10
40#define O_CREATE                0x20
41
42/********************************************************************************
43  _fat_lseek() flags.
44********************************************************************************/
45
46#define SEEK_SET                0
47#define SEEK_CUR                1
48
49/********************************************************************************
50  Error codes map.
51********************************************************************************/
52
53#define GIET_FAT32_OK                   (  0)
54#define GIET_FAT32_NOT_INITIALIZED      (- 1)
55#define GIET_FAT32_INVALID_BOOT_SECTOR  (- 2)
56#define GIET_FAT32_IO_ERROR             (- 3)
57#define GIET_FAT32_FILE_NOT_FOUND       (- 4)
58#define GIET_FAT32_INVALID_FD           (- 5)
59#define GIET_FAT32_NAME_TOO_LONG        (- 6)
60#define GIET_FAT32_TOO_MANY_OPEN_FILES  (- 7)
61#define GIET_FAT32_NOT_OPEN             (- 8)
62#define GIET_FAT32_IS_OPEN              (- 9)
63#define GIET_FAT32_READ_ONLY            (-10)
64#define GIET_FAT32_NO_FREE_SPACE        (-11)
65#define GIET_FAT32_INVALID_ARG          (-12)
66#define GIET_FAT32_NOT_A_DIRECTORY      (-13)
67#define GIET_FAT32_IS_DIRECTORY         (-14)
68#define GIET_FAT32_DIRECTORY_NOT_EMPTY  (-15)
69#define GIET_FAT32_MOVE_INTO_SUBDIR     (-16)
70#define GIET_FAT32_FILE_EXISTS          (-17)
71#define GIET_FAT32_NO_MORE_ENTRIES      (-18)
72#define GIET_FAT32_BUFFER_TOO_SMALL     (-19)
73
74#endif // _FAT32_SHARED
75
76// Local Variables:
77// tab-width: 4
78// c-basic-offset: 4
79// c-file-offsets:((innamespace . 0)(inline-open . 0))
80// indent-tabs-mode: nil
81// End:
82// vim: filetype=c:expandtab:shiftwidth=4:tabstop=4:softtabstop=4
83
Note: See TracBrowser for help on using the repository browser.