Subversion Repositories HelenOS

Rev

Rev 3535 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3535 Rev 3674
Line 32... Line 32...
32
 
32
 
33
#ifndef FAT_FAT_DENTRY_H_
33
#ifndef FAT_FAT_DENTRY_H_
34
#define FAT_FAT_DENTRY_H_
34
#define FAT_FAT_DENTRY_H_
35
 
35
 
36
#include <stdint.h>
36
#include <stdint.h>
-
 
37
#include <bool.h>
37
 
38
 
38
#define FAT_NAME_LEN        8
39
#define FAT_NAME_LEN        8
39
#define FAT_EXT_LEN     3
40
#define FAT_EXT_LEN     3
40
 
41
 
-
 
42
#define FAT_NAME_DOT        ".       "
-
 
43
#define FAT_NAME_DOT_DOT    "..      "
-
 
44
#define FAT_EXT_PAD     "   "
-
 
45
 
41
#define FAT_ATTR_RDONLY     (1 << 0)
46
#define FAT_ATTR_RDONLY     (1 << 0)
42
#define FAT_ATTR_VOLLABEL   (1 << 3)
47
#define FAT_ATTR_VOLLABEL   (1 << 3)
43
#define FAT_ATTR_SUBDIR     (1 << 4)
48
#define FAT_ATTR_SUBDIR     (1 << 4)
44
 
49
 
-
 
50
#define FAT_PAD         ' ' 
-
 
51
 
-
 
52
#define FAT_DENTRY_UNUSED   0x00
-
 
53
#define FAT_DENTRY_E5_ESC   0x05
-
 
54
#define FAT_DENTRY_DOT      0x2e
-
 
55
#define FAT_DENTRY_ERASED   0xe5
-
 
56
 
45
typedef enum {
57
typedef enum {
46
    FAT_DENTRY_SKIP,
58
    FAT_DENTRY_SKIP,
47
    FAT_DENTRY_LAST,
59
    FAT_DENTRY_LAST,
-
 
60
    FAT_DENTRY_FREE,
48
    FAT_DENTRY_VALID
61
    FAT_DENTRY_VALID
49
} fat_dentry_clsf_t;
62
} fat_dentry_clsf_t;
50
 
63
 
51
typedef struct {
64
typedef struct {
52
    uint8_t     name[8];
65
    uint8_t     name[8];
Line 68... Line 81...
68
        uint16_t    firstc_lo;  /* FAT32 */
81
        uint16_t    firstc_lo;  /* FAT32 */
69
    };
82
    };
70
    uint32_t    size;
83
    uint32_t    size;
71
} __attribute__ ((packed)) fat_dentry_t;
84
} __attribute__ ((packed)) fat_dentry_t;
72
 
85
 
-
 
86
extern int fat_dentry_namecmp(char *, const char *);
-
 
87
extern bool fat_dentry_name_verify(const char *);
73
extern void dentry_name_canonify(fat_dentry_t *, char *);
88
extern void fat_dentry_name_get(const fat_dentry_t *, char *);
-
 
89
extern void fat_dentry_name_set(fat_dentry_t *, const char *);
74
extern fat_dentry_clsf_t fat_classify_dentry(fat_dentry_t *);
90
extern fat_dentry_clsf_t fat_classify_dentry(const fat_dentry_t *);
75
 
91
 
76
#endif
92
#endif
77
 
93
 
78
/**
94
/**
79
 * @}
95
 * @}