Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 1f78546 in mainline


Ignore:
Timestamp:
2011-07-16T18:58:24Z (10 years ago)
Author:
Oleg Romanenko <romanenko.oleg@…>
Branches:
lfn, master
Children:
f5f1e1c
Parents:
73b1218
Message:

exFAT: exfat_dentry_get_name - read part of file name from exFAT
name dentry

Location:
uspace/srv/fs/exfat
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/exfat/exfat_dentry.c

    r73b1218 r1f78546  
    8181}
    8282
    83 int exfat_dentry_get_name(const exfat_name_dentry_t *name, size_t *count, uint16_t *dst)
     83void exfat_dentry_get_name(const exfat_name_dentry_t *name, size_t size, uint16_t *dst, size_t *offset)
     84{
     85        size_t i=0;
     86        while(i<EXFAT_NAME_PART_LEN && *offset < size) {
     87                dst[*offset] = uint16_t_le2host(name->name[i]);
     88                i++;
     89                (*offset)++;
     90        }
     91        dst[*offset] = '\0';
     92}
     93
     94void exfat_dentry_set_name(const uint16_t *src, size_t *offset, exfat_name_dentry_t *name)
    8495{
    8596        /* TODO */
    86         return EOK;
    87 }
    88 
    89 int exfat_dentry_set_name(const uint16_t *src, size_t *offset, exfat_name_dentry_t *name)
    90 {
    91         /* TODO */
    92         return EOK;
     97        size_t idx=0;
     98        while (src[*offset] && idx < EXFAT_NAME_PART_LEN) {
     99                name->name[idx] = src[*offset];
     100                (*offset)++;
     101                idx++;
     102        }
    93103}
    94104
  • uspace/srv/fs/exfat/exfat_dentry.h

    r73b1218 r1f78546  
    6767        uint8_t         flags;
    6868        uint8_t         _reserved[18];
    69         uint32_t        firtsc;
     69        uint32_t        firstc;
    7070        uint64_t        size;
    7171} __attribute__ ((packed)) exfat_bitmap_dentry_t;
     
    7575        uint32_t        checksum;
    7676        uint8_t         _reserved2[12];
    77         uint32_t        firtsc;
     77        uint32_t        firstc;
    7878        uint64_t        size;
    7979} __attribute__ ((packed)) exfat_uctable_dentry_t;
     
    154154extern void exfat_set_checksum(const exfat_dentry_t *d, uint16_t *chksum);
    155155
    156 extern int exfat_dentry_get_name(const exfat_name_dentry_t *name, size_t *count, uint16_t *dst);
    157 extern int exfat_dentry_set_name(const uint16_t *src, size_t *offset, exfat_name_dentry_t *name);
     156extern void exfat_dentry_get_name(const exfat_name_dentry_t *name, size_t size, uint16_t *dst, size_t *offset);
     157extern void exfat_dentry_set_name(const uint16_t *src, size_t *offset, exfat_name_dentry_t *name);
    158158
    159159extern bool exfat_valid_char(wchar_t ch);
Note: See TracChangeset for help on using the changeset viewer.