FreeRDP
winpr/libwinpr/file/file.h
1 
22 #ifndef WINPR_FILE_PRIV_H
23 #define WINPR_FILE_PRIV_H
24 
25 #include <winpr/winpr.h>
26 #include <winpr/wtypes.h>
27 
28 #include <winpr/nt.h>
29 #include <winpr/io.h>
30 #include <winpr/error.h>
31 
32 #ifndef _WIN32
33 
34 #include <stdio.h>
35 #include "../handle/handle.h"
36 
37 #define EPOCH_DIFF 11644473600LL
38 #define STAT_TIME_TO_FILETIME(_t) (((UINT64)(_t) + EPOCH_DIFF) * 10000000LL)
39 
40 struct winpr_file
41 {
42  WINPR_HANDLE common;
43 
44  FILE* fp;
45 
46  char* lpFileName;
47 
48  DWORD dwOpenMode;
49  DWORD dwShareMode;
50  DWORD dwFlagsAndAttributes;
51 
52  LPSECURITY_ATTRIBUTES lpSecurityAttributes;
53  DWORD dwCreationDisposition;
54  HANDLE hTemplateFile;
55 
56  BOOL bLocked;
57 };
58 typedef struct winpr_file WINPR_FILE;
59 
60 const HANDLE_CREATOR* GetFileHandleCreator(void);
61 
62 UINT32 map_posix_err(int fs_errno);
63 
64 #endif /* _WIN32 */
65 
66 #endif /* WINPR_FILE_PRIV_H */