Windows: Direct IO Support for Service
[openafs.git] / src / WINNT / afsrdr / user / RDRPrototypes.h
index a323689..a29d9b5 100644 (file)
@@ -46,7 +46,7 @@ typedef struct cm_scache cm_scache_t;
 #include <../common/AFSUserPrototypes.h>
 
 void
-RDR_InitReq( IN OUT cm_req_t *reqp );
+RDR_InitReq( IN OUT cm_req_t *reqp, BOOL bWow64);
 
 DWORD
 RDR_SetInitParams( OUT AFSRedirectorInitInfo **ppRedirInitInfo,
@@ -77,6 +77,7 @@ RDR_EvaluateNodeByName( IN cm_user_t *userp,
                         IN WCHAR     *Name,
                         IN DWORD     NameLength,
                         IN BOOL      CaseSensitive,
+                        IN BOOL      LastComponent,
                         IN BOOL      bWow64,
                         IN BOOL      bQueryStatus,
                         IN BOOL      bHoldFid,
@@ -133,6 +134,16 @@ RDR_RenameFileEntry( IN cm_user_t *userp,
                      IN OUT AFSCommResult **ResultCB);
 
 void
+RDR_HardLinkFileEntry( IN cm_user_t *userp,
+                       IN WCHAR    *SourceFileName,
+                       IN DWORD     SourceFileNameLength,
+                       IN AFSFileID SourceFileId,
+                       IN AFSFileHardLinkCB *HardLinkCB,
+                       IN BOOL bWow64,
+                       IN DWORD ResultBufferLength,
+                       IN OUT AFSCommResult **ResultCB);
+
+void
 RDR_FlushFileEntry( IN cm_user_t *userp,
                     IN AFSFileID FileId,
                     IN BOOL bWow64,
@@ -149,6 +160,14 @@ RDR_OpenFileEntry( IN cm_user_t *userp,
                    IN OUT AFSCommResult **ResultCB);
 
 void
+RDR_ReleaseFileAccess( IN cm_user_t *userp,
+                       IN AFSFileID FileId,
+                       IN AFSFileAccessReleaseCB *ReleaseFileCB,
+                       IN BOOL bWow64,
+                       IN DWORD ResultBufferLength,
+                       IN OUT AFSCommResult **ResultCB);
+
+void
 RDR_CleanupFileEntry( IN cm_user_t *userp,
                       IN AFSFileID FileId,
                       IN WCHAR *FileName,
@@ -260,6 +279,13 @@ RDR_GetVolumeInfo( IN cm_user_t     *userp,
                    IN OUT AFSCommResult **ResultCB);
 
 void
+RDR_GetVolumeSizeInfo( IN cm_user_t     *userp,
+                       IN AFSFileID     FileId,
+                       IN BOOL bWow64,
+                       IN DWORD ResultBufferLength,
+                       IN OUT AFSCommResult **ResultCB);
+
+void
 RDR_HoldFid( IN cm_user_t     *userp,
              IN AFSHoldFidRequestCB * pHoldFidCB,
              IN BOOL bFast,
@@ -274,6 +300,12 @@ RDR_ReleaseFid( IN cm_user_t     *userp,
                 IN OUT AFSCommResult **ResultCB);
 
 void
+RDR_InitPipe(void);
+
+void
+RDR_ShutdownPipe(void);
+
+void
 RDR_PipeOpen( IN cm_user_t *userp,
               IN AFSFileID  ParentId,
               IN WCHAR     *Name,
@@ -334,6 +366,29 @@ RDR_PipeTransceive( IN cm_user_t     *userp,
                     IN DWORD          ResultBufferLength,
                     IN OUT AFSCommResult **ResultCB);
 
+void
+RDR_ReadFile( IN cm_user_t     *userp,
+              IN AFSFileID      FileID,
+              IN LARGE_INTEGER *Offset,
+              IN ULONG          Length,
+              IN PVOID          Buffer,
+              IN BOOL           bWow64,
+              IN BOOL           bCacheBypass,
+              IN DWORD          ResultBufferLength,
+              IN OUT AFSCommResult **ResultCB);
+
+void
+RDR_WriteFile( IN cm_user_t     *userp,
+               IN AFSFileID      FileID,
+               IN AFSFileIOCB   *FileIOCB,
+               IN LARGE_INTEGER *Offset,
+               IN ULONG          Length,
+               IN PVOID          Buffer,
+               IN BOOL           bWow64,
+               IN BOOL           bCacheBypass,
+               IN DWORD          ResultBufferLength,
+               IN OUT AFSCommResult **ResultCB);
+
 cm_user_t *
 RDR_UserFromCommRequest( IN AFSCommRequest * pRequest);
 
@@ -354,6 +409,9 @@ RDR_FID2fid( IN AFSFileID *FileId,
 void
 RDR_InitIoctl(void);
 
+void
+RDR_ShutdownIoctl(void);
+
 #ifdef __cplusplus
 }
 #endif