Subversion Repositories HelenOS

Rev

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

Rev 3505 Rev 3628
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
 
41
#define FAT_ATTR_RDONLY     (1 << 0)
42
#define FAT_ATTR_RDONLY     (1 << 0)
Line 43... Line 44...
43
#define FAT_ATTR_SUBDIR     (1 << 4)
44
#define FAT_ATTR_SUBDIR     (1 << 4)
44
 
45
 
45
typedef enum {
46
typedef enum {
46
    FAT_DENTRY_SKIP,
47
    FAT_DENTRY_SKIP,
47
    FAT_DENTRY_LAST,
48
    FAT_DENTRY_LAST,
-
 
49
    FAT_DENTRY_FREE,
48
    FAT_DENTRY_VALID
50
    FAT_DENTRY_VALID
49
} fat_dentry_clsf_t;
51
} fat_dentry_clsf_t;
50
 
52
 
51
typedef struct {
53
typedef struct {
52
    uint8_t     name[8];
54
    uint8_t     name[8];
Line 68... Line 70...
68
        uint16_t    firstc_lo;  /* FAT32 */
70
        uint16_t    firstc_lo;  /* FAT32 */
69
    };
71
    };
70
    uint32_t    size;
72
    uint32_t    size;
71
} __attribute__ ((packed)) fat_dentry_t;
73
} __attribute__ ((packed)) fat_dentry_t;
72
 
74
 
-
 
75
extern bool fat_dentry_name_verify(const char *);
73
extern void dentry_name_canonify(fat_dentry_t *, char *);
76
extern void fat_dentry_name_get(const fat_dentry_t *, char *);
-
 
77
extern void fat_dentry_name_set(fat_dentry_t *, const char *);
74
extern fat_dentry_clsf_t fat_classify_dentry(fat_dentry_t *);
78
extern fat_dentry_clsf_t fat_classify_dentry(const fat_dentry_t *);
75
 
79
 
76
#endif
80
#endif
77
 
81
 
78
/**
82
/**
79
 * @}
83
 * @}