Ignore:
Timestamp:
2017-07-11T19:05:33Z (8 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
94c05b89
Parents:
b2906c0
Message:

ExFAT volume label support.

File:
1 edited

Legend:

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

    rb2906c0 rf3504c1  
    260260}
    261261
     262int exfat_directory_read_vollabel(exfat_directory_t *di, char *label,
     263    size_t size)
     264{
     265        uint16_t wlabel[EXFAT_VOLLABEL_LEN + 1];
     266        exfat_dentry_t *d = NULL;
     267        int rc;
     268        aoff64_t start_pos = 0;
     269
     270        start_pos = di->pos;
     271
     272        rc = exfat_directory_seek(di, 0);
     273        if (rc != EOK)
     274                return rc;
     275
     276        rc = exfat_directory_find(di, EXFAT_DENTRY_VOLLABEL, &d);
     277        if (rc != EOK)
     278                return rc;
     279
     280        exfat_dentry_get_vollabel(&d->vollabel, EXFAT_VOLLABEL_LEN, wlabel);
     281
     282        rc = utf16_to_str(label, size, wlabel);
     283        if (rc != EOK)
     284                return rc;
     285
     286        exfat_directory_seek(di, start_pos);
     287        return EOK;
     288}
     289
    262290static uint16_t exfat_directory_set_checksum(const uint8_t *bytes, size_t count)
    263291{
Note: See TracChangeset for help on using the changeset viewer.