bool smbd_vfs_init(connection_struct *conn);
NTSTATUS vfs_file_exist(connection_struct *conn, struct smb_filename *smb_fname);
ssize_t vfs_read_data(files_struct *fsp, char *buf, size_t byte_count);
-ssize_t vfs_pread_data(files_struct *fsp, char *buf,
- size_t byte_count, off_t offset);
ssize_t vfs_write_data(struct smb_request *req,
files_struct *fsp,
const char *buffer,
return (ssize_t)total;
}
-ssize_t vfs_pread_data(files_struct *fsp, char *buf,
- size_t byte_count, off_t offset)
-{
- size_t total=0;
-
- while (total < byte_count)
- {
- ssize_t ret = SMB_VFS_PREAD(fsp, buf + total,
- byte_count - total, offset + total);
-
- if (ret == 0) return total;
- if (ret == -1) {
- if (errno == EINTR)
- continue;
- else
- return -1;
- }
- total += ret;
- }
- return (ssize_t)total;
-}
-
/****************************************************************************
Write data to a fd on the vfs.
****************************************************************************/