ssize_t exfat_pwrite(struct exfat_dev* dev, const void* buffer, size_t size, off_t offset) { #ifdef USE_UBLIO return ublio_pwrite(dev->ufh, buffer, size, offset); #else return pwrite(dev->fd, buffer, size, offset); #endif }
ssize_t exfat_pwrite(struct exfat_dev* dev, const void* buffer, size_t size, off64_t offset) { #ifdef USE_UBLIO return ublio_pwrite(dev->ufh, buffer, size, offset); #elif defined(USE_TRANSITIONAL_LFS) && USE_TRANSITIONAL_LFS return pwrite64(dev->fd, buffer, size, offset); #else return pwrite(dev->fd, buffer, size, offset); #endif }
ssize_t exfat_write(struct exfat_dev* dev, const void* buffer, size_t size) { #ifdef USE_UBLIO ssize_t result = ublio_pwrite(dev->ufh, buffer, size, dev->pos); if (result >= 0) dev->pos += size; return result; #else return write(dev->fd, buffer, size); #endif }
void exfat_pwrite(struct exfat_dev* dev, const void* buffer, size_t size, off_t offset) { #ifdef USE_UBLIO if (ublio_pwrite(dev->ufh, buffer, size, offset) != size) #else if (pwrite(dev->fd, buffer, size, offset) != size) #endif exfat_bug("failed to write %zu bytes to file at %"PRIu64, size, (uint64_t) offset); }