26#ifndef FREERDP_CHANNEL_DRIVE_CLIENT_FILE_H 
   27#define FREERDP_CHANNEL_DRIVE_CLIENT_FILE_H 
   29#include <winpr/stream.h> 
   30#include <winpr/file.h> 
   31#include <freerdp/channels/log.h> 
   33#define TAG CHANNELS_TAG("drive.client") 
   42  const WCHAR* basepath;
 
   45  UINT32 FileAttributes;
 
   48  UINT32 CreateDisposition;
 
 
   52DRIVE_FILE* drive_file_new(
const WCHAR* base_path, 
const WCHAR* path, UINT32 PathWCharLength,
 
   53                           UINT32 
id, UINT32 DesiredAccess, UINT32 CreateDisposition,
 
   54                           UINT32 CreateOptions, UINT32 FileAttributes, UINT32 SharedAccess);
 
   58BOOL drive_file_seek(
DRIVE_FILE* file, UINT64 Offset);
 
   59BOOL drive_file_read(
DRIVE_FILE* file, BYTE* buffer, UINT32* Length);
 
   60BOOL drive_file_write(
DRIVE_FILE* file, 
const BYTE* buffer, UINT32 Length);
 
   61BOOL drive_file_query_information(
DRIVE_FILE* file, UINT32 FsInformationClass, 
wStream* output);
 
   62BOOL drive_file_set_information(
DRIVE_FILE* file, UINT32 FsInformationClass, UINT32 Length,
 
   64BOOL drive_file_query_directory(
DRIVE_FILE* file, UINT32 FsInformationClass, BYTE InitialQuery,
 
   65                                const WCHAR* path, UINT32 PathWCharLength, 
wStream* output);